父控制器轨道之外的部分?

时间:2012-10-04 21:20:25

标签: ruby-on-rails ruby

我真的已经死了如何解决用户的部分惩罚。我有一个用户有书的应用程序,每本书都有很多章节。所以用户A会创建一本书和章节,网址看起来像site.com/book/1/chapter/1。我想要做的是当用户登录时我想向用户显示最近的章节或最近的学分

内容/ home.html.erb

<% if signed_in? %>
  <%= render 'dashboard/home'%>
<% else %>
  <%= render 'homepage'%>
<% end %>

块/ _user_chapters.html.erb

<% @user.chapters.each do |chapter| %>
  <%= div_for chapter do  %>
    <tr>
      <td><%= chapter.title %></td>
      <td><%= chapter.body %></td>
      <td><%= link_to 'View Chapter', book_chapter_path %></td>
    </tr>
  </table>
  <% end %>
<% end %>

仪表板/ _home.html.erb

<%= content_tag :h1, "Recent Chapters" %>
<%= render 'blocks/user_chapters', :locals => {:book => @book} %>

当我从上面重新加载页面时,我得到书中的 未定义方法“章节”:0x007fd996697630 。即使我进入书本/ 1 /我仍然看不到用户最近的章节。

如何在我的rails应用程序中的任何位置访问已登录用户的最新章节或书籍?

1 个答案:

答案 0 :(得分:1)

从您的代码中可以看出,您在[{1}}中有部分内容,但您正尝试通过blocks/_user_chapters.html.erb访问它。您需要将“_user_chapters.html.erb”移至render 'shared/user_chapters'才能使用它。