Rails(4.2.5)にて、ActiveRecordを使って外部結合のクエリを発行しています。
この際、Where条件ではなく、ON句のAnd条件にてパラメータを渡して事前に絞り込みをしたいのですが、パラメータの渡し方がよくわかりません。
user_idという項目でfavoritesを絞りたいのですが、Model側に以下のように記述すると「undefined local variable or method `user_id'」のエラーが発生します。
scope :join_favorite, lambda(user_id){
joins("LEFT JOIN favorites ON favorites.book_id = books.id
AND favorites.user_id = #{user_id}")
}
scopeではなく、コントローラ側にjoins以降を記述すると正常に動作します。
ご教示のほど、よろしくお願いいたします。
あなたの回答
tips
プレビュー