【问题标题】:ActiveRecord::Store without accessors?ActiveRecord::Store 没有访问器?
【发布时间】:2013-05-03 14:31:44
【问题描述】:

有没有办法在不声明访问器的情况下使用ActiveRecord::Store

用例是我希望用户能够将任何变量附加到 URL,然后将该键/值与记录一起保存。

例如,有人可能会这样做: http://example.com/response?order_number=12345&manager=Johnny&used_valet=true

所以我希望将order_numbermanagerused_valet 保存在variables 列中作为记录。但是每个用户都会有一组他们想要存储的不同变量。

现在,我有这个:

class Response < ActiveRecord::Base
  store :variables
end

但是这样做会引发unknown attribute 错误:

$ Response.create(order_number: '12345')
ActiveRecord::UnknownAttributeError: unknown attribute: order_number

【问题讨论】:

    标签: ruby-on-rails activerecord accessor


    【解决方案1】:

    您无法在构造函数中传递它,您必须独立设置每个变量。请参阅此处设置国家/地区值的行:http://api.rubyonrails.org/classes/ActiveRecord/Store.html

    您应该能够遍历 params 对象以从查询字符串中获取所有参数,然后为每个参数设置设置属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 2016-11-04
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多