Rails 3.2 Web アプリを作成していますが、SQL クエリを作成するのに助けが必要です。私のアプリでは、ユーザー、プロジェクト、およびタスクを取得しました。ユーザーは、割り当てと呼ばれる結合テーブルを介してタスクに割り当てられます。
選択したユーザーが割り当てられているタスクを取得したすべてのプロジェクトのリストを取得する必要があります。
計画
has_many :tasks
仕事
has_many :assignments
has_many :users, :through => :assignments
ユーザー
has_many :assignments
has_many :tasks, :through => :assignments
割り当て
belongs_to :user
belongs_to :task
このクエリを最も効率的でベスト プラクティスな方法で作成するにはどうすればよいですか?
アップデート
これが私が最終的に解決した方法です:
def index
tasks = current_user.tasks.joins(:project)
@output = tasks.map{|task| task.project}.uniq
end