0

私は、クレームと多くの関係があるモデル ドライバーを持っています。クライアントが詳細を入力できるフォームと、過去に受けた多くのクレームを入力したいと考えています。

モデルには、次のものがあります。

has_many :claims

そして、私が入力したフォームで:

<%= semantic_form_for @driver do |f| %>
  <%= f.input :name %>
  .......

  <%= f.inputs :for => :claims do |c| %>
    <% c.input :happen_date %>
    <% c.input :claim_details %>
    ...........
  <% end %>
<% end %>

フォームを送信すると、問題が発生し、Claim(#3213231311) が期待され、Array(#70299228017580) が取得されました

そして、私はフォームを見て、私が見た:

{"utf8"=>"✓",
"authenticity_token"=>"VD3lt+LXZoA94YoL3PkI0frTH5EzT4vs/lZhzQhp0IQ=",
"driver"=>{
"name"=> "test tester",
.......
"claims"=>{"happend_date(3i)"=>"10",
"claim_date(2i)"=>"10",
"claim_date(1i)"=>"2012",
"claim_details"=>"dsadsadsadas"}},
"commit"=>"Next"}

クレームには has_many の関係があるため、クレームは次のような配列でカバーされるべきではありません。

"claims" => [{.....},{......}]

私はフォームに一生懸命取り組んできましたが、まだクレームを配列として送信することができませんでした。誰か助けてください。

4

1 に答える 1

2

これを「ドライバー」モデルに含めましたか:-

accepts_nested_attributes_for :claims

次のようにフォームを編集します。

<%= semantic_form_for @driver do |f| %> 
  <%= f.input :name %>
  <%= f.semantic_fields_for :claims do |c| %>
    <% c.input :happen_date %>
    <% c.input :claim_details %>
  <% end %>
<% end %>

それが役立つことを願っています。ありがとう

于 2013-07-24T11:21:39.503 に答える