Ich muss ein Objekt in einem Array als Objekt Argument für collection_select
in einem Formular mit einem form_tag
Helper verwenden, aber meine Params-Hash formatiert nicht korrekt.Rails: Verwenden eines Objekts in einem Array als das Objektargument für Collection_select
Beispiel:
<%= form_tag(picks_path, method: :post) do %>
<% @awards.each do |award| %>
<%= hidden_field_tag "picks[][user_id]", 1 %>
<%= hidden_field_tag "picks[][game_id]", 1 %>
<%= hidden_field_tag "picks[][award_id]", award.id %>
<%= label_tag "picks[][:first_pick]", "First Pick" %>
<%= collection_select("picks[][:first_pick]",
:first_pick, award.nominations, :id, :nominee) %>
<% end %>
<%= submit_tag 'Submit' %>
<% end %>
Ergebnisse in diesem params-Hash mit zusätzlicher Verschachtelung ...
"picks"=>[{"user_id"=>"1", "game_id"=>"1", "award_id"=>"1", ":first_pick"=>{"first_pick"=>"1"}}, {"user_id"=>"1", "game_id"=>"1", "award_id"=>"2", ":first_pick"=>{"first_pick"=>"3"}}]
Wenn das, was ich möchte wirklich das ist ...
"picks"=>[{"user_id"=>"1", "game_id"=>"1", "award_id"=>"1", "first_pick"=>"1"}, {"user_id"=>"1", "game_id"=>"1", "award_id"=>"2", "first_pick"=>"3"}]
Ich versuchte es mit dieser ...
<%= collection_select("picks[]", :first_pick, award.nominations, :id, :nominee) %>
Aber ich habe diese Ausnahme ...
Objekt [] Namensgebung aber Objekt param und @object var nicht nicht respond existieren oder tun, um to_param: nil
Am Ich verpasse hier eine spezielle Syntax oder ist das nicht die herkömmliche Methode, um mehrere Einträge aus einem Formular mit einer Schaltfläche zum Senden zu erstellen?