有没有办法在不声明访问者的情况下使用ActiveRecord::Store?
用例是我希望用户能够将任何变量附加到URL,然后将该键/值与记录一起保存。
例如,有人可能会:
http://example.com/response?order_number=12345&manager=Johnny&used_valet=true
所以我希望将order_number
,manager
和used_valet
保存在variables
列中以备记录。但是每个用户都会有一组他们想要存储的变量。
现在,我有了这个:
class Response < ActiveRecord::Base
store :variables
end
但这样做会引发unknown attribute
错误:
$ Response.create(order_number: '12345')
ActiveRecord::UnknownAttributeError: unknown attribute: order_number
答案 0 :(得分:0)
您无法在构造函数中传递它,您必须独立设置每个变量。请参阅此处设置国家/地区值的行:http://api.rubyonrails.org/classes/ActiveRecord/Store.html
您应该能够遍历params对象以从查询字符串中获取所有参数,然后为每个参数设置设置属性。