使用rails check_box_tag添加1个以上的ID

时间:2015-06-16 00:17:04

标签: ruby-on-rails ruby checkbox params

我是RoR的新手。嗯,一般的编程新手。 我想将多个ID从第一个视图传递到第二个视图,但是只传递我使用check_box_tag选择的ID。

----------第一视图-------------------

   命名:    

<%= form_tag(method: "post") do %>

<%= check_box_tag("camp", params[:id]) %>

<%= submit_tag("Add to comparison cart") %>

------------- Controller ---------------

def compare

@camps = Camp.find(params[:id])

----------第二种观点----------------

<%= @camps.name %>

问题: 当我转到第二个视图时,它只保存最新的&#34;阵营&#34;我查了一下。

问题: 如何将多个阵营保存到第二个视图?

1 个答案:

答案 0 :(得分:0)

这里发生的事情是Camp.find()只返回一个对象,而你显然需要返回多个对象。

可能有一个等效的.find()可以找到并返回多个对象,但是我还没有使用它,所以我不知道它会被调用什么。如果它存在,那将是一个理想的解决方案。

另一种方法是创建一个数组,然后使用重复的Camp.find()调用来填充该数组。像(伪代码道歉,没有时间测试它):

@camps = []
for each check box
  @camps.add(camps.find(params[:id])) if checkbox is checked
end

(我假设您可以在Ruby中添加数组,我自己还是新的......)