我有一个具有以下方法的模型:
class Lead < ActiveRecord::Base
attr_accessor :value
def value
@value = {}
end
end
在我的表格中,我有以下内容:
f.text_field "value[start_range]"
提交表单时,我希望参数哈希如下所示:
{leads => { :value => { "start_range" => "some value", "arbitrary_data" => "something else" } } }
换句话说,输入中的名称/值对作为键/值对插入到 value 方法中。
但是,相反,我收到以下错误:
undefined method `value[start_range]' for #<Lead:0x007ff83321a4c0>
显然,它正在寻找一种名为 value[start_range] 的方法,当我有一个名为 value 的方法时,它是一个哈希,可以具有它想要的任何键,包括start_range。
我该如何解决这个问题?
我认为"序列化"方法适合您的需求。
class Lead < ActiveRecord::Base
attr_accessor :value
serialize :value, Hash
end
和视图
text_field_tag 'value[start_range]'