我的数据库中有一个Invites
表,当我以用户身份执行任务时,我想将Event
。id传递给范围User.not_invited_to(event)
如何构建此范围以检查用户ID是否在那里?
class User
has_many :invites, :foreign_key => 'participant_id'
...
end
class Invite
belongs_to :participant, :class_name => "User", :foreign_key => "participant_id"
...
end
答案 0 :(得分:0)
您可以使用event.invite_ids
:
scope :not_invited, lambda { |event| where("id not in (?)", event.invite_ids) }