2016-04-25 69 views
1

我正在使用rails 4.2。 我有一个模型UserComment访问来自两个不同表格的列

class User 
    has_many :comments 
end 

class Comment 
    belongs_to :user 
end 

用户有一栏name和注释有一列user_idcontent 现在我想取列comment.contentuser.name 通过使用连接我可以这样做

Comment.joins(:user).select(:name,:content) 

你能提出一个有效的方法来执行该操作吗?

+0

没有尝试'User.find(1).comments' – uzaif

+0

我的要求是不同的。我有一套评论,我想找到相应的每个评论的用户并显示它 –

+0

okey试试这个'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

我想要一个有效的方法。我不想仅仅使用join来访问一列用户,也不想使用评论中的user_id列 –

相关问题