我的应用程序中的导航栏有以下代码,使用 Devise 进行用户身份验证。
<ul class="nav pull-right">
<li class="">
<%= link_to root_path do %>
<i class="icon-home"></i> Home
<% end %>
</li>
<li class="">
<%= link_to current_user do %>
<i class="icon-book"></i> Portfolio
<% end %>
</li>
<li class="">
<%= link_to help_path do %>
<i class="icon-question-sign"></i> Help
<% end %>
</li>
<li class="">
<%= link_to(destroy_user_session_path, :method=>'delete') do %>
<i class="icon-signout"></i> Logout
<% end %>
</li>
</ul>
它在主页和用户个人资料页面上工作正常,但是当我转到其他页面时,例如项目或帮助页面(两者都before_filter :authenticate_user!
在它们的控制器中),它会引发以下错误
NoMethodError in Projects#index
undefined method `find_by_remember_token' for #<Class:0x3ec18d0>
它说有问题的代码是这部分:
<%= link_to current_user do %>
我用它来将用户链接到他/她的个人资料。任何想法如何解决这个错误?
更新:添加后似乎问题自行解决了
@user = current_user
到页面的各自控制器。