ruby on rails -嵌套散列中的Form_tag参数



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

是否有一种方法将表单字段值放入像form_for这样的嵌套散列?我希望能够将所有表单字段转换为json通过params[:form_fields].to_json

您可以在form_tag中使用fields_for,以更正式的方式表示名称空间。

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]" ...

等。然后你会得到params[:form_fields] = {:my_text_field => "foo", :my_select_tag => "bar"},我认为这是你想要的。

最新更新