在Rails 3.1應用程序,我有一種方法稱爲user_logged_in?
來自Devise,我想用來有選擇地呈現部分。以下是layouts/application.html.erb中的代碼:Rails 3,只渲染部分,如果用戶登錄
<% if user_logged_in? %>
<%= render :partial => "home/statusbar" %>
<% end %>
它使用來自不同控制器的部分。這是部分:在current_user.name
(未定義的方法)發生
<div id="status_bar">
Signed in as <%= link_to current_user.name, edit_user_registration_path %>
</div>
錯誤,因爲current_user
是nil
。我可以將user_logged_in?
檢查移入部分內部,但我認爲如果它位於視圖中,效率會稍高一些。
您能指導我瞭解最佳實踐,或者我如何克服未定義的方法錯誤? Rails是否正常檢查模板的代碼,即使它在if
塊中失敗?
是的,它的確如此。如果我使用user_signed_in?它也可以。完全錯誤的方法。對不起,謝謝! – joseph