【发布时间】:2018-09-15 19:14:28
【问题描述】:
我有一个“组”表单,上面有一个选择框,如下所示:
<%= 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", “提交”=>“保存”}
但在我的控制器操作中 group_params 只得到
{“描述”=>“某事”}
这是因为 select_tag 有一个自定义名称,我需要在我的强参数中使用不同的语法吗?我该如何解决这个问题?
【问题讨论】:
-
您确定这些是日志中出现的实际参数吗?我相信那些不是。请再次检查。
-
您想使用
f.select :custom_people, People.all。见FormBuilder#select -
@Pavan 是的,这些是日志中“puts group_params”的实际参数和输出。我刚刚删除了一些与问题无关的额外参数,以使其保持专注/可读
-
@JohanWentholt 在这种情况下我需要使用 select_tag 因为选择元素需要自定义名称,所以我不能使用 f.select
-
@phauwn 为什么不用
f.select来修复它的命名约定
标签: ruby-on-rails