代码之家  ›  专栏  ›  技术社区  ›  hohner

如何通过多个关系访问另一个模型中的字段?

  •  0
  • hohner  · 技术社区  · 16 年前

    @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 %>
    

    我想使用来自p的'user\u id'数据。邮政用户id从用户数据库表中查找用户名。用户名位于“name”列,用户ID位于“ID”列。如何使用p。邮政用户id然后在用户控制器中找到具有相同ID的用户,以便我可以输出他们的名称?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Nikita Rybak    16 年前

    belongs_to 和 has_many 在适当的位置,您可以从Post对象访问整个用户对象:

    <%= p.post.user.name %>
    
    推荐文章