inner joinかつ別モデルのscopeを利用してそのモデルの状態を条件にデータを取得したい。
例えば、「紐づくuserのstatusがtrueであるtweet」を取得したいときは以下のように書ける。
Tweet.joins(:user).merge(User.available)
user.rb
class User < ApplicationRecord
has_many :tweets
scope :available, -> {
where(status: true)
}
end
tweet.rb
class Tweet < ApplicationRecord
belongs_to :user
end