2012-10-04 77 views
0

對於如何解決爲用戶渲染部分內容的問題,我確實處於死角。我有一個應用程序,用戶有書,每本書都有很多章節。所以用戶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應用程序中的任何位置的書籍?

+0

'shared/user_chapters'與'block/user_chapters'相同嗎? –

+0

模特的關係是否正確? – alex

+0

模型關係是正確的,這是一個錯字,我的意思是塊沒有共享 – coletrain

回答

1

從您的代碼看來,您在blocks/_user_chapters.html.erb中有部分內容,但您正試圖通過render 'shared/user_chapters'訪問它。您需要將'_user_chapters.html.erb'移動到app/views/shared才能使用它。

+0

我認爲我輸入錯誤的名稱沒有分享它的塊這是一個排字錯誤 – coletrain

+0

@coletrain你的代碼的哪一行導致了'undefined method'章節'0x007fd996697630'錯誤?這看起來像'.chaper'正在書本對象上被調用。這可能是一個完全不相關的錯誤。 – gylaz

+0

這似乎是導致錯誤的行'<%@ user.chapters.each do | chapter | %>' – coletrain