1
DBからデータを取得する際に問題があります。モデル関連の種類はからの間です。Rails 3 - "through" - 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)
のようなものを試してみました
私はすべてのアドバイスに感謝します!
Article.where(:category_id => current_user.categories.map {|c| c.id})
2つのクエリを作成します。
あなたは
が動作しているようです。ありがとう! – user984621
yippie!助けてうれしい – tybro0103