1

Rails3.2.8サーバーでauthlogicをセットアップしようとしています。すべてをほぼ機能させることができますが、ユーザー名を表示しようとすると、このエラーが発生します。

undefined method `each' for nil:NilClass

Railsアプリでこれが発生する理由については何も見ていません。古い例を取得すると機能しますが、最近のバージョンで設定した場合は機能しません。なぜこれが起こっているのか誰もが知っていますか?これは、私が知っている限り、問題を引き起こすレールによって生成された特定のコードです。

<% @user_sessions.each do |user_session| %>
  <tr>
    <td><%= user_session.email %></td>
    <td><%= user_session.password %></td>
    <td><%= link_to 'Show', user_session %></td>
    <td><%= link_to 'Edit', edit_user_session_path(user_session) %></td>
    <td><%= link_to 'Destroy', user_session, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

助けてくれてありがとう!

編集:

これは@user_sessionsが設定されている場所です。私のconfig/routes.rbにこれがあります

resources :users, :user_sessions
match 'login' => 'user_sessions#new', :as => :login
match 'logout' => 'user_sessions#destroy', :as => :logout

そして私のmodels/user.rbはこのように見えます

class User < ActiveRecord::Base
  attr_accessible :email, :password, :password_confirmation
  acts_as_authentic
end

これは私のUsersControllerインデックスがどのように見えるかです。もう一度編集します。

def index
  @users = User.all 

  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @users }
  end
end

そして、これは私のUserSessionControllerがどのように見えるかです:

 def index
   @user_sessions = UserSession.all

   respond_to do |format|
     format.html # index.html.erb
     format.json { render json: @user_sessions }
   end
 end

注:これは問題だと思ってコメントアウトしました。コメントアウトされていない場合は、

undefined method `all' for UserSession:Class
4

1 に答える 1

1

これを読む

試す

@user_sessions = User.logged_in
于 2012-08-16T20:34:30.473 に答える