Rails多个对象选择框

时间:2016-05-26 12:40:03

标签: ruby-on-rails ruby

我有一个索引页面,其中列出了来自后控制器的对象集合(@posts)中的所有对象(post)。

我想为每个帖子对象添加一个复选框,以便用户可以通过我创建的导出控制器选择要导出的这些对象中的哪一个。

如何设置表单以便将选定的对象ID发布到此导出控制器?

提前致谢。

2 个答案:

答案 0 :(得分:0)

将复选框设置为数组。打印您的帖子,使其看起来像下面的HTML。

HTML:

<input type="checkbox" name="post_ids[]" value="1" />
<input type="checkbox" name="post_ids[]" value="2" />
<input type="checkbox" name="post_ids[]" value="3" />
<input type="checkbox" name="post_ids[]" value="4" />

然后,在Controller中,您可以在提交路线上阅读这样的值:

post_ids = params[:post_ids]

我不会自己编写HTML,而是从rails帮助程序中查看“collection_check_boxes”。

http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_check_boxes http://apidock.com/rails/ActionView/Helpers/FormTagHelper/check_box_tag

答案 1 :(得分:0)

你可以试试这个: 在你的html.erb中写道:

<% @posts.each do |post| %>
  <%= check_box_tag "selected_posts[]", post.id %>
<% end %>

这将为您返回控制器中已选中复选框的一系列帖子。像这样:

params[:selected_posts]

例如,将返回[1,11,23 ..]。