On a single page I might have a single Video and then checkboxes to add multiple dogs to it. Easy enough (as follows)…
View:
<%= check_box_tag "video[dog_ids][]", dog.id %>
Controller:
params[:video][:dog_ids] ||= []
But what I can’t figure out how to do is have multiple videos, each with multiple dogs.
I currently have this:
<% @videos.each do |video| %>
<%= fields_for "item[]", video do |f| %>
<%= f.hidden_field :id, :index => nil %>
<%= f.text_field :title, :index => nil%>
<%= f.text_area :body, :index => nil %>
<% video.dogs.each do |dog| %>
<%= check_box_tag "item[][]]", dog.id %>
<% end %>
<% end %>
<% end %>
But when I do that, dogs_ids is always nil when it’s submitted.
Any idea what I’m doing wrong?
Such a setup with
fields_for "item[]"andf.text_field :title, :index => nilproduces:This indicates that the checkbox name should be
item[][dog_ids][].A working example:
This produces result in params: