class User < ActiveRecord::Base
has_many :assignments
has_many :projects, through: :assignments
end
class Project < ActiveRecord::Base
has_many :assignments
has_many :users, through: :assignments
end
class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :project
scope :current_assignments, where(...)
end
現在のユーザーに現在割り当てられているすべてのプロジェクトを取得したいと考えています。何かのようなもの:
current_user.current_assigned_projects
しかし、今、私はしなければなりません:
current_user.assignments.current_assignments.map{ |a| a.project }.uniq
また
Project.includes(:users, :assignments).where('assignments.status' => 1, 'users.id' => current_user.id)
これを行う美しい方法はありますか?