DBからデータをフェッチする際に問題が発生しました。モデルの関連付けの種類から。までです。
私のサイトには、スポーツ、ニュース、天気などのカテゴリがあります。ユーザーがログインして、記事を表示するカテゴリを選択したら、これらの記事のみを表示したいと思います。
これが私のモデルのように見えます:
class User < ActiveRecord::Base
has_many :user_categories
has_many :categories, :through => :user_categories
end
class Category < ActiveRecord::Base
has_many :articles
has_many :user_categories
has_many :users, :through => :user_categories
end
class UserCategory < ActiveRecord::Base
belongs_to :user
belongs_to :category
end
class Article < ActiveRecord::Base
belongs_to :category
end
しかし、私はまだ方法、ユーザーの選択したカテゴリからすべての記事を取得する方法を見つけることができません...私は次のようなものを試しました
Article.joins("LEFT JOIN categories ON category.id = user_categories.category_id").where('user_categories.user_id = ?', current_user.id)
アドバイスをいただければ幸いです。
ありがとうございました