复选框ID未在表单提交时提交

时间:2013-02-06 04:03:19

标签: html ruby-on-rails ruby-on-rails-3 forms

我正在使用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; “中提交”}

关于我做错了什么想法?

1 个答案:

答案 0 :(得分:0)

如果您尝试使用

怎么办?
<%= check_box_tag......., params[:your_param], ..... %>

我是红宝石的新手,但似乎是问题,我可能是错的,但