【问题标题】:Scope with argument for a json column带有 json 列参数的范围
【发布时间】:2016-05-20 18:58:00
【问题描述】:

我有一个 json 列 - document

我已经用store_accessor :document, :color_code 指定了color_code 属性

我可以成功查询所有实例的数字 3:

MyModel.where("document ->> 'color_code' = '3'")

但是我如何将该查询转换为带有数字参数的范围,以便我可以更普遍地使用它?

【问题讨论】:

    标签: ruby-on-rails json postgresql rails-activerecord ruby-on-rails-5


    【解决方案1】:

    你可以试试这样的:

    class MyModel
       scope :with_color, ->(color) { where("document ->> 'color_code' = '?'", color) }
    end
    

    然后发出作用域:

    MyModel.with_color(3)
    

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      相关资源
      最近更新 更多