ruby 如何将ActiveRecord范围委托给Query对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 如何将ActiveRecord范围委托给Query对象相关的知识,希望对你有一定的参考价值。

module Cards
  class BlackListedQuery
    class << self
      delegate :call, to: :new
    end

    def initialize(relation = Card.unscoped)
      @relation = relation
    end

    def call
      @relation.where "cards.black_listed_at IS NOT NULL"
    end
  end
end
class Card
  scope :black_listed, Cards::BlackListedQuery
end

以上是关于ruby 如何将ActiveRecord范围委托给Query对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby on Rails 中查看给定 ActiveRecord 查询将生成的 SQL

ruby 令人敬畏的ActiveRecord错误报告脚本。如何在Ruby脚本中使用ActiveRecord和SQLite。

与Ruby on Rails中的范围相关联

Ruby:使用ActiveRecord验证将CSV数据导入DB

如何存储和比较:ActiveRecord 中的符号(Ruby on Rails)

如何使用 Ruby ActiveRecord 映射数据库视图?