3つのデータテーブルと2つの結合テーブルがあり、すべてを接続しています。結合テーブルのデータが同じであるという条件に基づいて結果をクエリする方法を見つけようとしています。
説明するために、ユーザー、インタレスト、およびイベントのテーブルがあります。これらのテーブルは、HABTM関係(他のフィールドを格納する必要がないため、私のニーズには適しています)を介してリンクされ、2つの結合テーブルを介して結合されます。したがって、(user_id、interest_id)を含むUsersInterestsテーブルと(event_id、interest_id)を含むEventsInterestsテーブルもあります。
問題は、ユーザーの関心がイベントの関心と一致するすべてのイベントをクエリしようとしたときに発生します。
こんな感じになると思いました…
@events= Event.find(:all, :conditions => [@user.interests = @event.interests])
しかし、「nil:NilClassの未定義のメソッド `interests'」というエラーが表示されます。構文またはロジックに問題がありますか?