Hallo,
ich möcht mit einem formular mehrer einträge in die datenbank schreiben.
Ich habe beliebig viele kosten (CostItem). Diese kosten werden auf
beliebig
viele user
aufgeteilt (PartialAmount).
‘CostItem’ und ‘PartialAmount’ stehen in einer 1:N Beziehung.
‘User’ und ‘PartialAmount’ stehen in einer 1:N Beziehung.
folgendes habe ich bei mir im view stehen: (vereinfacht
<%- form_for :partial_amount, :url => { :controller => ‘cost’, :action
=>
‘apportionment_save’ }, :html => { :id => ‘monthly_cost’ } do |f|
<%- @cost_item.each do |item| %>
<%= f.hidden_field :cost_item_id, :value => item.id %>
<%- @user.each do |user| %>
<%- fields_for :partial_amount, @partial_amount do
|partial_amount_form| %>
<%= user.login %>
<%= partial_amount_form.text_field :amount %>
%p.action
= submit_tag ‘Save changes’
es soll also für jeden ‘cost_item’ mehrere ‘partial_amount’ in die
datenbank
geschrieben werden.
Das ganze funktioniert, aber in der datenbank taucht nur ein eintrag
auf.
Ich habe so etwas ähnliches schon einmal realisiert (siehe
#73 Complex Forms Part 1 - RailsCasts ) aber das waren zwei models. hier
habe
ich nur ein modell.
danke schonmal für die Hilfe.
grüße kalle