2012-04-22 3 views
0

に未定義のメソッド `each`を取得する私はこのような方法があります:私のコントローラ

class ProfilesController < ApplicationController 
    before_filter :authenticate_user! 

    current_user 

    def index 
    @users = User.all 
    end 
    ... 
end 

を、私のルートが

match 'profile', :controller => 'profiles', :action => 'index' 

ですが、私はhttp://127.0.0.1:8080/profileにアクセスしたときに私が手:

NoMethodError in Profiles#index未定義のメソッドeachnil:NilClass

+0

エラーの完全なスタックトレースとは何ですか? – Gareth

+0

https://gist.github.com/2464854 - mongoidを使用しています。ちょうどfyi –

+0

これはおそらく実際にはビュー内で発生しています。スタックトレース全体を見て、該当するビューの抜粋を見つけてください。 –

答えて

0

Worked。私はちょうど私のProfilesControllerから私はcurrent_user行を削除しました@ジェスパーこれはあなたが言ったフィルターで何かを持っていますか?

2

これは、User.allがnilを返すことを意味します。ユーザーを呼び出す前にユーザーがいるかどうかを確認する必要があります。このようにビューを変更した場合、エラーは発生しません。

<% if @users %>   
    <% @users.each do |user| %> 
    ... 
    <% end %> 
<% end %> 
+0

私は知っていますが、私は私のDBにユーザーを持っていると確信しています。コメントを見てください –

関連する問題