如何使用Rails显示复选框中选中的所有值?

时间:2014-06-25 22:54:28

标签: ruby-on-rails

<form action="/decide_start_session" method="get">
    <input type="checkbox" name = "subject" value = "NetPresentValue" checked> Net Present Value
    <input type="checkbox" name = "subject" value = "FamaFrench" checked> Fama French
    <%= submit_tag("Start session", class: "btn btn-success") %>
</form>


puts params[:subject]

我在我的视图中有第一部分,在我的Rails应用程序中我的控制器中有第二行。如果用户同时选中这两个复选框,则Rails控制台仅返回最后检查的项目而不是所有这些项目。关于如何解决这个问题的任何想法(显示控制台中的所有复选框)?

2 个答案:

答案 0 :(得分:2)

如果您将复选框的name属性更改为subject[]并删除html中=周围的空格,则选中的值将作为数组传递给控制器​​。

<form action="/decide_start_session" method="get">
    <input type="checkbox" name="subject[]" value="NetPresentValue" checked> Net Present Value
    <input type="checkbox" name="subject[]" value="FamaFrench" checked> Fama French   
</form>

然后你可以在控制器中执行此操作:

puts params[:subject].inspect

答案 1 :(得分:0)

使用name="subject[]",然后您将在params[:subject]

中获得一系列选定值