class ConferenceSession < ActiveRecord::Base
has_many :conference_sessions
end
class ConferenceSession < ActiveRecord::Base
belongs_to :conference
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :conference_sessions
end
およびconference_sesssions_usersテーブル。管理者は、特定の人に特定のセッションに参加させることができます。だから私は、ユーザがログインして会議を選択するたびに、管理者が許可したセッションだけを見ることを許可されるべきであるというクエリを作成したいと思う。条件に基づくRails関連付けクエリ
私は
scope :visibility,
lambda { |user_id| joins('INNER JOIN conference_sessions_users
ON conference_sessions_users.conference_session_id = conference_sessions.id').
where('conference_sessions_users.user_id = ?', user_id) }
を行うことで、特定のセッションを取得するためにこれをやったが、これが唯一のセッションは、すべてのユーザーに表示されている場合、条件は同じのために何をどうあるべきか、特定の人を返します。