加入范围模型

时间:2017-06-23 08:45:25

标签: ruby-on-rails ruby-on-rails-4 activerecord

我没找到关于那个的文档。 我有两个模型,TokenConnection

class Connection < ActiveRecord::Base
  belongs_to :token
  scope :failed, -> { where('...') }
end

class Token < ActiveRecord::Base
  has_many :connections
end

我知道我们可以像Tokens.joins(:connections)这样加入,但我尝试做这样的事情Token.joins(:connections => :failed) 你认为这可能吗?

2 个答案:

答案 0 :(得分:0)

我刚刚找到

Token.joins(:connexions).merge(Connection.failed)

答案 1 :(得分:0)

您可以在连接模型上添加默认范围,例如

class Connection < ActiveRecord::Base
    belongs_to :token
    default_scope where(' Your condition ')
end

因此Tokens.joins(:connections)只会为您提供其范围与您的条件匹配的令牌。 您也可以查看此链接https://apidock.com/rails/ActiveRecord/Base/default_scope/class