我正在尝试向页面上的元素添加一个复选框,然后将一组id(如果选中复选框)传递给控制器。
在我看来,我有......
<% @roles.each do |role| %>
<li>
<%= check_box_tag 'blah_ids[]', role.id -%>
<%= h role.name -%>
</li>
<% end %>
...只有这个提交按钮...
<%= button_to 'Call Action', bulk_update_path('blah_ids[]'), method: :post %>
在我的控制器中,我只是像这样打电话给看台...
def bulk_update
puts "Made it to controller; ids are: " + params.inspect
redirect_to blah_path
end
......得到......
Made it to controller; ids are: {"authenticity_token"=>"0ptHDPrSW9sjRYmsoPb/WyuTQxiR60RzVom9h4HjdWo=", "controller"=>"blah", "action"=>"bulk_update", "format"=>"blah_ids[]"}
上面的注意blah_ids[]
为空白。我期待看到已检查的复选框的ID。任何帮助表示赞赏。
答案 0 :(得分:0)
问题是我需要在我的视图中将其包装在form_tag中并使用通用的submit_tag,如此...
<%= form_tag bulk_update_path(method: :post) do %>
<% @roles.each do |role| %>
<li>
<%= check_box_tag 'blah_ids[]', role.id -%>
<%= h role.name -%>
</li>
<% end %>
<%= submit_tag %>
<% end %>