【问题标题】:Checkbox id's not being submitted on form submit表单提交时未提交复选框 ID
【发布时间】:2013-01-21 04:37:43
【问题描述】:

我正在使用带有 form_tag、checkbox_tag 和 submit_tag 的 RoR 3 向我的控制器提交一组 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 为 127.0.0.1 开始 POST "/messages/inbox_action/submit?name=mailgrid"

MessagesController#inbox_action 作为 HTML 处理

参数:{"utf8"=>"✓", "authenticity_token"=>"asdf", "commit"=>"delete", "name"=>"mailgrid", "id"=>"submit" }

关于我做错了什么有什么想法吗?

【问题讨论】:

  • 您的表单是否以&lt;% end %&gt; 结尾?
  • guides.rubyonrails.org/form_helpers.html 我认为您应该为模型 CRUD 使用“form_for”
  • 这与模型动作无关,所以我想使用 form_tag,因为它更通用。是的,我以&lt;% end %&gt; 结束表格。我会更新帖子。

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


【解决方案1】:

如果你尝试使用

<%= check_box_tag......., params[:your_param], ..... %>

我是 ruby​​ 的新手,但似乎这就是问题所在,我可能是错的,但是

【讨论】:

  • 不,无论我在 check_box_tag 中放了什么,都不会传递给控制器​​。
猜你喜欢
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2023-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-22
相关资源
最近更新 更多