2015-11-24 170 views
0

我想在我的應用程序中列出用戶所有評論的儀表板。我遇到的問題是,當我點擊用戶提交評論的帖子時,它將我帶到所有帖子的索引頁面,而不是特定帖子的顯示頁面。這是我與<td><%= link_to review.post.title , posts_path(@post) %></td> 有問題的代碼行。這裏是我的代碼:link_to顯示頁面將我帶到索引頁面Rails?

的意見/頁/ dashboard.html.erb

<div class="align-left"> 



<div class="col-md-2"> 
<h5><%= @user.name %></h5> 


</div> 
<div class="col-md-5"> 
<h3>My Posts</h3> 

<table class="table table-hover"> 
     <thead> 
     <tr> 
      <th>Name</th> 
      <th>Created</th> 
      <th></th> 
     </tr> 
     </thead> 
     <tbody> 
     <% @posts.each do |post| %> 
     <tr> 
      <td><%= post.title %></td> 
      <td><%= time_ago_in_words(post.created_at) %> ago</td> 
      <td><%= link_to "Edit", edit_post_path(post) %>|<%= link_to "Destroy", post_path(post), method: :delete %></td> 
     </tr> 
     <% end %> 
     </tbody> 
    </table> 

</div> 

<br> 

<h3>My Reviews</h3> 
<table class="table table-hover"> 
     <thead> 
     <tr> 
      <th>Place</th> 
      <th>Created</th> 
      <th></th> 
     </tr> 
     </thead> 
     <tbody> 
     <% @reviews.each do |review| %> 
     <tr> 
     <td><%= link_to review.post.title , posts_path(@post) %></td> 
     <td><%= time_ago_in_words(review.created_at) %> ago</td> 
     </tr> 
     <% end %> 
     </tbody> 
    </table> 
</div> 

</div> 

斜掠路由文件

enter image description here

回答

1

dashboard.html.erb頁面上有一個實例變量@posts not @post。再次

<td><%= link_to review.post.title , post_path(review.post) %></td> 

而且,而是調用關聯的,並再次,你可以這樣做: - - : ,您可以通過review.post拿到後,像

<% @reviews.each do |review| %> 
    <tr> 
    <% review_post = review.post %> 
    <td><%= link_to review_post.title , post_path(review_post) %></td> 
    <td><%= time_ago_in_words(review.created_at) %> ago</td> 
    </tr> 
<% end %> 
1

應該是<%= link_to review.post.title, post_path(@post) %>
或只是<%= link_to review.post.title, @post %>
不是<%= link_to review.post.title, posts_path(@post) %>

+1

也'應該工作 – hamitron

0

您沒有正確地檢查你的路由: enter image description here

posts_pathindex方法和show方法是post_pathid或目的。

用途:而不是設置在別處的變量,`post_path(review.post)

<td><%= link_to review.post.title , post_path(@post) %></td>