2016-04-25 24 views
1

私はレールを使用しています。 私はモデルUserComment2つの異なるテーブルからアクセスする列

class User 
    has_many :comments 
end 

class Comment 
    belongs_to :user 
end 

ユーザーが列nameを持っているとのコメントがuser_idcontent は、今私は、列をフェッチする列を持っているがありcomment.content、私はこの

のように行うことができます結合を使用することで user.name

アクションを実行する効率的な方法を提案できますか?

+0

をあなたはUser.findは、(1) – uzaif

+0

私の要件が異なっているの.comments' 'てみました。私はコメントを設定しました。私はそれぞれのコメントに対応するユーザを見つけてそれを表示したいと思っています –

+0

このComment.find(1).user'を試してみると、ユーザオブジェクト – uzaif

答えて

0

次のような列、名前空間ができます。

Comment.joins(:user).pluck('users.name', 'comments.content') 

# though, you don't need `comments.content`; `content` will work as well. 
+0

Comment.joins(:user).select(:name、:content)これはうまくいきます。それは、ユーザ名 –

+0

@rohankharviとコメントしました。私は私の答えを編集しました。 –

+0

私は効率的な方法が必要です。私は、ユーザーの1つの列にアクセスするためだけにjoinを使用するのではなく、コメント内のuser_id列にアクセスしたい –

関連する問題