0

ユーザー、記事、コメントの 3 つのモデルがあります。

  • アーティセルには多くのコメントがあります。
  • コメントは記事に属します。
  • ユーザーには多くのコメントがあります。

教科書ケース:)

ユーザーがコメントした記事IDの一覧を作成したいと思います。それ、どうやったら出来るの?

コンソールで User.find(1).comments.articles_ids のバリアントを試しましたが、未定義のメソッド エラーが発生します。

私はそれが簡単だと確信していますが、私はそれを理解することはできません:)

ありがとう!

4

1 に答える 1

1

それを行う1つの方法は、現在のセットアップで機能します:

user.comments.collect(&:article_id).uniq

has_many :throughまたは、 to を追加できると思いますUser

class User < ActiveRecord::Base
  has_many :articles, :through => :comments
end

次に、経由でIDを取得できますuser.articles.collect(&:id)(おそらくまたuser.article_ids、それについてはわかりません)。

于 2012-09-27T13:21:17.877 に答える