<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控制台仅返回最后检查的项目而不是所有这些项目。关于如何解决这个问题的任何想法(显示控制台中的所有复选框)?
答案 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]