我正在寻找引入哈希的方法,并将其与form_for一起使用。我正在玩Hashie :: Mash来制作一个伪对象,这似乎工作正常。但是深嵌套键遇到了问题。
@mash = Hashie::Mash.new({:level_one => "foo", :same_level => {:level_two => "bar"}})
然后使用form_for ...
= form_for @mash do |m|
= m.text_field :level_one
= m.fields_for :same_level do |s|
= s.text_field :level_two
level_one的文本字段填充为“foo”,但level_two为空。
本质上我需要将哈希包装在某种类型的对象中,但是如何处理嵌套的哈希?我正在尝试从yaml文件加载设置,在表单中修改它们,然后将它们保存回来。