Salve, ho:
Customer
has_many :deliveries
has_one :document
Document
belongs_to :customer
Delivery
belongs_to :customer
route.rb has:
resources :customers do
resources :deliveries
end
La tabella customers e’ gia’ popolata, voglio solo assegnare una
delivery e un document a un customer.
Vorrei farlo utilizzando un solo form ma:
<%= form_for([@customer , @delivery ]) do |f| %>
<%= f.input :delivered_at, :as => :hidden, :value => Date.today %>
<%= f.fields_for :document do |doc| %>
<%= doc.label :doc_type %>
<%= doc.text_field :doc_type %>
<%= doc.error :doc_type %>
<% end %>
<%= f.submit %>
Non funziona, posso aggiungere una delivery ma non un document
contemporaneamente.
Qualche suggerimento?
msan
February 3, 2011, 9:11pm
2
E’ da un po’ che non lo vedo ma questo potrebbe essere un indizio:
Maurizio
2011/2/3 Mauro [email protected] :
msan
February 3, 2011, 9:23pm
3
2011/2/3 maurizio de magnis [email protected] :
E’ da un po’ che non lo vedo ma questo potrebbe essere un indizio:
#196 Nested Model Form Part 1 - RailsCasts
L’avevo gia’ visto ma nel mio caso non funziona, forse dovrei correggere
il
<%= form_for([@customer , @delivery ]) do |f| %> e la route.
Non mi crea il documento perche’ va a cercare l’attributo sul modello
Delivery.
In pratica dovrei poter fare customer.deliveries.build…e
contemporanemente customer.build_document.
msan
February 3, 2011, 10:46pm
4
2011/2/3 maurizio de magnis [email protected] :
E’ da un po’ che non lo vedo ma questo potrebbe essere un indizio:
#196 Nested Model Form Part 1 - RailsCasts
Ho trovato per caso la soluzione.
il form iniziale:
<%= form_for([@customer , @delivery ]) do |f| %>
<%= f.input :delivered_at, :as => :hidden, :value => Date.today %>
<%= f.fields_for :document do |doc| %>
<%= doc.label :doc_type %>
<%= doc.text_field :doc_type %>
<%= doc.error :doc_type %>
<% end %>
<%= f.submit %>
diventa:
<%= form_for([@customer , @delivery ]) do |f| %>
<%= f.input :delivered_at, :as => :hidden, :value => Date.today %>
<%= fields_for @document do |doc| %>
<%= doc.label :doc_type %>
<%= doc.text_field :doc_type %>
<% end %>
<%= f.submit %>
Il punto e’ il fields_for che non va associato alla variabile f.
Cosa ne pensate?