我目前正在使用:
@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模型属于Post和User模型。
我想使用p.post.user_id中的'user_id'数据从User数据库表中查找用户名。用户的名称位于“名称”列中,用户的ID位于“id”列中。如何在用户控制器中使用p.post.user_id然后找到具有相同ID的用户,以便我可以输出他们的名字?
答案 0 :(得分:1)
如果您有belongs_to
和has_many
,则可以从Post对象访问整个User对象:
<%= p.post.user.name %>