Visualizzare un frammento di pagina

L’action create del controller deliveries e’:

def create
@customer=Customer.find(params[:customer_id])
@delivery = @customer.deliveries.build(params[:delivery])
@document = @customer.build_document(params[:document])
if @delivery.valid? and @document.valid?
Delivery.transaction do
@delivery.save!
@document.save!
end
flash[:success] = ‘Consegna effettuata’
respond_with(@customer)
else
@products = Product.all
render ‘customers/show’, :layout => ‘delivery’
end
end

l’action show del controller customers e’:


<% content_for :delivery_form do %>
<%= render ‘deliveries/form’ %>
<% end %>
<% content_for :delivered do %>
<%= render ‘delivered/form’ %>
<% end %>

nel layout vorrei visualizzare uno solo dei due content in relazione
al fatto che @delivery e @document siano stati salvati nel database o
meno.
Ho un form, al submit vengono creati gli oggetti @delivery e
@document, se non sono validi mi viene ripresentata la show e il
layout dovrebbe presentarmi <%= yield :delivery_form %> mentre se gli
oggetti sono validi e qundi salvati nel database il layout dovrebbe
presentarmi <%= yield :delivered %>.
In base a cosa posso operare la selezione?
Ho provato <% if @delivery.valid? and @document.valid? %> ma non va
perche’ una volta salvati valid diventa false quindi mi viene sempre
presentato <%= yield :delivery_form %>.

2011/2/8 Mauro [email protected]:

end

Ho un form, al submit vengono creati gli oggetti @delivery e
@document, se non sono validi mi viene ripresentata la show e il
layout dovrebbe presentarmi <%= yield :delivery_form %> mentre se gli
oggetti sono validi e qundi salvati nel database il layout dovrebbe
presentarmi <%= yield :delivered %>.
In base a cosa posso operare la selezione?
Ho provato <% if @delivery.valid? and @document.valid? %> ma non va
perche’ una volta salvati valid diventa false quindi mi viene sempre
presentato <%= yield :delivery_form %>.

Nessun suggerimento?
Forse e’ sbagliata l’impostazione?