从迭代器块中的关联模型访问信息

时间:2013-01-24 00:41:48

标签: ruby-on-rails

在用户个人资料页面上,我想显示该用户拥有的“评论”以及“评论请求”。我目前已经设置了列表审核请求的工作方式,如下所示:

  def show
    @user = User.find(params[:id])
    @review_requests = @user.review_requests.paginate(page: params[:page])
  end

和视图:

    <ol class="review_request">
      <%= render 'user_review_requests' %>
    </ol>

with partial:

  <% @review_requests.each do |review_request| %>
  <li>
    <span class="description">
      <%= review_request.description %>
    </span>
   blah blah blah....(there's more of much the same)

@reviews = @user.reviews.paginate(page: params[:page])

我也想展示评论,但问题是,我想要展示的很多关于评论的信息实际上存储在ReviewRequest模型中。所以这样做是行不通的:

添加到节目控制器:

@reviews = @user.reviews.paginate(page: params[:page])

和迭代器块:

<% @reviews.each do |review| %>
  <li>
    <span class="description">
      <%= review.review_request_id.description %>
    </span>

如何从ReviewRequest模型访问与每个连接的评论相关联的信息,以便我可以在个人资料页面上显示。

BTW - 审核请求has_many评论和评论属于审核请求

1 个答案:

答案 0 :(得分:0)

访问belongs_to关联时,您可以通过关联名称(review_request)访问它,而不是列名称(review_request_id)。像这样:

<span class="description">
  <%= review.review_request.description %>
</span>