2011-06-03 8 views
0

J'ai un tableau des utilisateurs, des lieux et des critiques où un utilisateur peut avoir de nombreuses critiques et un lieu a de nombreuses critiques.Comment afficher tous les enregistrements créés par un utilisateur?

Comment puis-je afficher tous les avis rédigés par un utilisateur sur la page de chaque utilisateur?

J'affiche actuellement les commentaires écrits par les utilisateurs sur les pages montrent des sites associés à l'aide de ce morceau de code:

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

Est-il possible de réutiliser l'examen partiel pour cela?

utilisant:

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

dans la page show utilisateur donne une méthode non définie review_path » erreur.

Merci pour toute aide son très apprécié!

modifier

Révision partielle

<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> 
+0

Cette erreur review_path provient probablement du partiel. Pouvez-vous poster le code des critiques/avis? –

+0

@Devin M, Merci d'avoir jeté un coup d'oeil, j'ai ajouté le partiel à ma question. – Dave

Répondre

1

Chaque review n'a qu'un seul venue, non?

Donc, essayez de remplacer link_to review.title, [@venue, review] avec

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

Comme l'a dit @Devin, @venue est nil dans votre liste de commentaires dirigée par l'utilisateur.

+0

merci beaucoup qui fonctionne très bien! – Dave

1

Lorsque vous appelez que vous n'êtes pas faire passer un @venue partiel. Essayez de changer <%= link_to review.title, [@venue, review] %> Pour quelque chose d'un peu plus large comme <%= link_to review.title, [object, review] %>

Et dans vos appels à cette utilisation partielle

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