我正在使用RoR 3,使用form_tag,checkbox_tag和submit_tag将id的集合提交给我的控制器。
我有一个消息表,我希望有一个复选框,允许我选择并对提交的项目采取措施。在我看来:
<%= form_tag :name => "mailgrid",:id=>"submit",:action => "inbox_action" do %>
...
<td class="mailbox_from"><%= check_box_tag 'msg_ids[]', message.id %></td>
...
<%= submit_tag "delete", :name => 'commit', :value=>'delete' %>
<% end %>
这会产生如下所示的HTML:
<form accept-charset="UTF-8" action="/messages/inbox_action/submit?name=mailgrid" method="post">
...
<input id="msg_ids_" name="msg_ids[]" style="position:relative;top:-2px;right:10px;" type="checkbox" value="88" />
...
<input name="commit" type="submit" value="delete" /> </div>
然后,在我的控制器中:
if params[:msg_ids]
#dostuff
end
但是,是否选中这些复选框永远不会传递给我的控制器。在我的日志中,这些参数完全丢失,即使这个控制器方法被调用。这是日志:
于2013-02-05 19:43:02 -0800开始发布“/ messages / inbox_action / submit?name = mailgrid”for 127.0.0.1
将MessagesController#inbox_action作为HTML处理
参数:{“utf8”=&gt;“✓”,“authenticity_token”=&gt;“asdf”,“commit”=&gt;“删除”,“名称”=&gt;“mailgrid”,“id”= &gt; “中提交”}
关于我做错了什么想法?
答案 0 :(得分:0)
如果您尝试使用
怎么办?<%= check_box_tag......., params[:your_param], ..... %>
我是红宝石的新手,但似乎是问题,我可能是错的,但