Rails自定义选择名称搞砸了强大的参数?

时间:2018-09-15 19:14:29

标签: ruby-on-rails

我有一个“组”的表格,上面是一个选择框,如下所示:

    <%= f.text_field :description %> 
    <%= select_tag 'custom_people', People.all  %>

在我的群组控制器中:

def group_params

    params.require(:group).permit(:description, :custom_people)

当表单提交时,我可以在参数中看到custom_people:

  

参数:{“ utf8” =>“✓”,“ authenticity_token” =>“”,   “ group” => {“ description” =>“ something”},“ custom_people” =>“ 1”,   “ commit” =>“保存”}

但在我的控制器操作中,group_params仅得到

  

{“ description” =>“某物”}

这是因为select_tag具有自定义名称,并且我的强参数中需要其他语法吗?我该如何解决?

1 个答案:

答案 0 :(得分:1)

您需要手动命名select_tag才能解决问题。通过以下代码,您现在可以在groups: {..}参数中获取custom_people。

<%= select_tag 'group[custom_people]', People.all  %>