スタンドを常駐および通信の2つのチェックボックスにリンクしようとすると問題が発生し、複数のスタンドを選択すると、それらは別々に保存されているように見えます。
1つのスタンドがある場合、パラメーターは配列のハッシュ内に正しい方法で格納されているように見えますが、同じ配列に別のスタンドを追加すると、ハッシュが入れ替わるように見えます。私のビューは次のようになります。また、同じパーシャルを呼び出す別のスタンドを追加する別のオプションがあります。これは次のとおりです。
- unless @stands.empty? %tr#show_stands.contentText %td{:width => "27%", :valign => "top"} Select Stand For Ownership %td{:width => "15%", :valign => "top"} = collection_select "owned_stands[]", "stand_id", @stands, :id, :erf_no_rr_no, options ={:prompt =>"Please select stand..."}, {:class => 'dropdownSelect'} %td{:valign => "top"} = check_box_tag "owned_stands[][owner_comm_list]" Add to Owners Communication list = check_box_tag "owned_stands[][resident_comm_list]" Add to Residents Communication list
選択したスタンドの数に応じて、2つ以上のハッシュを含むアレイを期待しています。1つのスタンドと両方のチェックボックスを選択した場合、ハッシュは次のようになります。
([{"stand_id" => "1", "resident_comm_list" => "1", "owner_comm_list" => "1"}])
そして、私が2つ持っている場合、私は期待します:
([{"stand_id" => "1", "resident_comm_list" => "1", "owner_comm_list" => "1"},{"stand_id" => "2", "resident_comm_list" => "1", "owner_comm_list" => "1"}])
しかし今、私が2つのスタンドを選択すると、次のことがわかります。
([{"stand_id" => "1", "resident_comm_list" => "1"}, {"owner_comm_list" => "1"},{"stand_id" => "2"},{"resident_comm_list" => "1", "owner_comm_list" => "1"}])
また、stand_idを選択するためにハッシュをループする必要がある場合、コントローラー内でエラーが発生します。