【问题标题】:How can I display all records created by a user?如何显示用户创建的所有记录?
【发布时间】:2011-06-04 08:16:19
【问题描述】:

我有一个用户、场所和评论表,其中一个用户可以有很多评论,而一个场所可以有很多评论。

如何在每个用户展示页面上显示用户撰写的所有评论?

我目前正在使用以下代码在相关场地展示页面上显示用户撰写的评论:

<%= render :partial => 'reviews/review', :collection => @venue.reviews %>

是否可以为此重复使用部分评论?

使用:

<%= render :partial => 'reviews/review', :collection => @user.reviews %>

在用户展示页面中给出了一个未定义的方法`review_path'错误。

非常感谢您的帮助!

编辑

部分审核

<div class="review">

  <div class="reviewer_details">
    <div class="reviewer_details_photo">
      <%= image_tag review.user.avatar.url(:thumb) %>
    </div>
    <%= review.user.username %>
  </div>

  <div class="review_content">
    <h2 class="review_partial_title"><%= link_to review.title, [@venue, review] %></h><br>
    <p><%= review.rating %></p>
  </div>

  <div class="clearall"></div>
</div>

【问题讨论】:

  • 那个 review_path 错误很可能来自部分。你能发布评论/评论的代码吗?
  • @Devin M,感谢您查看我已将部分添加到我的问题中。

标签: ruby-on-rails list activerecord


【解决方案1】:

每个review只有一个venue,对吧?

所以尝试用

替换 link_to review.title, [@venue, review]

link_to review.title, [review.venue, review]

正如@Devin 所说,@venue 在您的用户导向评论列表中是 nil

【讨论】:

    【解决方案2】:

    当您调用该部分时,您并没有传递@venue。 尝试更改&lt;%= link_to review.title, [@venue, review] %&gt; 对于更广泛的东西,比如&lt;%= link_to review.title, [object, review] %&gt;

    在你调用这个部分使用

    <%= render :partial => 'reviews/review', :collection => @user.reviews, :locals => {:object => @user} %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      相关资源
      最近更新 更多