在我的控制器上获取未定义的方法`each`

时间:2012-04-22 15:50:17

标签: ruby-on-rails ruby

我有这样的方法:

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 <{1}},Profiles#index未定义方法each中的

nil:NilClass

2 个答案:

答案 0 :(得分:2)

这意味着User.all返回零。在调用每个用户之前,您需要检查是否有任何用户。如果您将视图更改为这样,则不会引发错误。

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

答案 1 :(得分:0)

的工作。我刚刚从我的current_user @Jesper中移除了ProfilesController行,这对您说的过滤器有什么影响吗?