コードのリファクタリングと最適化を試みていました。特に、データベースへのクエリの量を減らしたいと考えていました。私のユーザーコントローラーでは非常にうまく機能しましたが、同じことを試した別のコントローラーではうまくいきませんでした。なぜうまくいかなかったのか、しばらく答えを探しましたが、実際には答えられません。
登録を通じてコースを購読できるユーザーがいます。それらは has_many :through などの関係を通じて接続されています。以下の作品:
@users_courses = current_user.courses
@courses = @users_courses.a_named_scope
しかし、私のコースコントローラーでは、以下は機能しません:
@all_courses = Course.all
@specific_course = @all_courses.specific_course_scope
スコープはそれぞれのモデルで定義され、適切に機能します。それらは複雑ではなく、「どこで...真/偽」の定義だけです。誰かがここの問題を知っていますか?ありがとう!
Rails バージョン 3.2 と Ruby バージョン 2 を使用しています。