0

ユーザー認証に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

ページのそれぞれのコントローラーに。

4

1 に答える 1

0

ユーザーがサインインしているかどうかを確認してください。

<%= link_to if_user_signed_in?, current_user %>
于 2013-10-27T15:18:33.880 に答える