2010-08-23 49 views
0

我目前使用:如何通過has_many關係從另一個模型訪問字段?

@user = User.find(params[:id]) 
@posts = @user.posts 
@comments = @user.comments 

要顯示我的這個代碼在我的模板中的所有註釋:

<% @user.comments.each do |p| %> 
    <p>Commented on <%= p.post.user_id %>'s post</p> 
    <p><%= p.body %></p> 
<% end %> 

每個帖子都有一個「user_id的」一欄是用戶對誰創建ID該職位。我可以輸出這個'user_id'數據,因爲Post和User模型has_many:comments,Comment模型belongs_to Post和User模型。

我想使用來自p.post.user_id的'user_id'數據從用戶數據庫表中查找用戶名。用戶名稱位於「名稱」列中,用戶的ID位於「ID」列中。我如何在用戶控制器中使用p.post.user_id來找到具有相同ID的用戶,然後輸出他們的名字?

回答

1

如果您有到位belongs_tohas_many,你必須從Post對象訪問整個用戶對象:

<%= p.post.user.name %> 
+0

完美的作品,謝謝!花了幾個小時才意識到這一點... – hohner 2010-08-23 05:03:58

相關問題