我正在关注Michael Hartl的Ruby on Rails教程(9.2)
我收到了这个错误。
我在这里收到此错误
undefined method `each' for nil:NilClass
<h1>All users</h1>
<ul class="users">
<% @users.each do |user| %>
<li>
<%= gravatar_for user, size: 52 %>
<%= link_to user.name, user %>
我使用gem 'faker', '1.1.2'
创建了100个用户。我不知道为什么有nil
个用户,我刚刚创建了100个用户。
我也运行了这些命令
bundle exec rake db:reset
bundle exec rake db:populate
bundle exec rake test:prepare
答案 0 :(得分:6)
问题不在于您没有任何用户。如果您没有用户,@users
将是一个空数组,并且.each
方法可以很好地工作(尽管没有任何内容可以迭代)
所以问题是@users
未正确初始化。
查看您引用的页面上的9.23列表。你的控制器里有这个代码吗?
def index
@users = User.all
end
这可能是缺少的。