Как я могу отобразить все записи, созданные пользователем? - PullRequest
0 голосов
/ 04 июня 2011

У меня есть таблица пользователей, мест и обзоров, где у пользователя может быть много отзывов, а у места есть много отзывов.

Как можно показать все отзывы, написанные пользователем на каждой выставке пользователей?страница?

В настоящее время я отображаю отзывы, написанные пользователями на соответствующих страницах шоу, используя этот бит кода:

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

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Каждый review имеет только один venue, верно?

Так что попробуйте заменить link_to review.title, [@venue, review] на

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

Как сказал @Devin, @venue - это nil в вашем списке пользовательских отзывов.

1 голос
/ 04 июня 2011

Когда вы называете это частичное, вы не передаете @venue. Попробуйте изменить <%= link_to review.title, [@venue, review] %> К чему-то более широкому, как <%= link_to review.title, [object, review] %>

А в ваших звонках на это частичное использование

<%= render :partial => 'reviews/review', :collection => @user.reviews, :locals => {:object => @user} %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...