Ruby on rails 嵌套哈希中的Form_标记参数

Ruby on rails 嵌套哈希中的Form_标记参数,ruby-on-rails,Ruby On Rails,我有一个表单没有与之关联的模型,所以我使用了form\u标签,而不是form\u作为。正如预期的那样,当用户提交表单时,每个字段都包含在params散列中。但是表单会改变很多,我更喜欢在params散列中有一个散列,它将保存所有表单字段值,这样我就不必每次更改表单时都更改控制器 是否有一种方法可以将表单字段值放入一个嵌套的散列中,就像表单_for does一样?我希望能够获取所有表单字段,并通过执行类似于params[:form\u fields]的操作将它们转换为json。要实现json,可以

我有一个表单没有与之关联的模型,所以我使用了
form\u标签
,而不是
form\u作为
。正如预期的那样,当用户提交表单时,每个字段都包含在params散列中。但是表单会改变很多,我更喜欢在params散列中有一个散列,它将保存所有表单字段值,这样我就不必每次更改表单时都更改控制器

是否有一种方法可以将表单字段值放入一个嵌套的散列中,就像表单_for does一样?我希望能够获取所有表单字段,并通过执行类似于
params[:form\u fields]的操作将它们转换为json。要实现json,可以在
form\u标记中使用
form\u>来更正式地表达名称空间

fields_for :form_fields do |ff|
  ff.text_field :my_text_field
  ff.select :my_select_tag
end
或者,只需命名所有表单输入的名称空间,如下所示:

text_field_tag "form_fields[my_text_field]"
select_tag "form_fields[my_select_tag]" ...

等等。然后你会得到
参数[:form_fields]={:my_text_field=>“foo”,:my_select_tag=>“bar”}
,我想这就是你想要的。

这似乎正是我需要的。谢谢我发现强参数与符号:my_text_field与由以下内容生成的字符串不匹配::my_text_field“输入元素的字符串名称映射到符号,因此
“my_text_field”
将匹配
:my_text_field
“:my_text_field”
可能不匹配。rails 4.1是否仍然可以这样做?我正是这样做的,我的html已经像上面那样用表单_字段进行分组。它适用于具有相关活动记录对象的字段。但不能使用自定义字段。我在params顶层收到它们的键/值。