jos*_*eph 5 ruby-on-rails view devise ruby-on-rails-3
在Rails 3.1应用程序中,我有一个user_logged_in?从Devise 调用的方法,我想用它来有选择地渲染部分.这是layouts/application.html.erb中的代码:
<% if user_logged_in? %>
<%= render :partial => "home/statusbar" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
它使用来自不同控制器的部分.这是部分:
<div id="status_bar">
Signed in as <%= link_to current_user.name, edit_user_registration_path %>
</div>
Run Code Online (Sandbox Code Playgroud)
current_user.name(未定义的方法)发生错误,因为current_user是nil.我可以user_logged_in?在部分内部移动支票,但我认为如果它在视图中会略微提高效率.
您能指导我了解最佳实践,或者如何克服未定义的方法错误?Rails检查模板的代码是否正常,即使它在if块中失败了?
Dav*_*A-R 13
它似乎user_logged_in?是出现问题的地方.如果改变它,它会起作用吗?
<% if current_user.present? %>
<%= render :partial => "home/statusbar" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9279 次 |
| 最近记录: |