【问题标题】:How do I access fields from another model through a has_many relationship?如何通过 has_many 关系访问另一个模型的字段?
【发布时间】:2010-08-23 04:48:05
【问题描述】:

我目前正在使用:

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

在我的模板中显示我所有的 cmets 代码:

<% @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 :cmets 和 Comment 模型都属于 Post 和 User 模型。

我想使用 p.post.user_id 中的“user_id”数据从 User 数据库表中查找用户名。用户名位于“name”列中,用户 ID 位于“id”列中。如何在 User 控制器中使用 p.post.user_id 来查找具有相同 ID 的用户,以便输出他们的姓名?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    如果您有 belongs_tohas_many,您将可以从 Post 对象访问整个 User 对象:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多