我想将提交的表单中的参数保存到名为hash_options
的哈希值中,该哈希值对应于表格中的字段。
hash_options
的哈希值存储为:hash_fields
的值?
hash_fields
是一个文本字段,我试图将hash_options
作为普通哈希存储在此行中。def person_params
hash_options = {age: params['person']['age'], location: params['person']['location'], gender: params['person']['gender']}
params.require(:person).permit(:first_name, :last_name, :owner, hash_fields: [hash_options])
end
附带问题:模型如何访问和存储参数?
答案 0 :(得分:0)
为了能够将哈希保存到数据库,您有几个选择:
如果您使用的是MongoDB(mongoid),您只需将其定义为模型中的哈希类型字段:
field options_hash, type: Hash
您可以使用postgresql HStore将无模式数据保存到该列中,这样您就可以将哈希值保存到列中并将其作为哈希值使用。
至于params部分,无需将其包含在许可证调用中,您可以这样做:
model = Model.new(person_params) do |m|
m.options_hash = hash_options
end
model.save