在Navbar中设计用户配置文件链接

时间:2013-10-27 15:15:28

标签: ruby-on-rails devise

我的应用程序中的导航栏有以下代码,使用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

到页面的各个控制器。

1 个答案:

答案 0 :(得分:0)

尝试检查用户是否已登录。

<%= link_to if_user_signed_in?, current_user %>
相关问题