在创建100个用户之后没有用户

时间:2014-07-17 21:24:20

标签: ruby-on-rails ruby

我正在关注Michael Hartl的Ruby on Rails教程(9.2)

http://www.railstutorial.org/book/updating_and_deleting_users#cha-updating_showing_and_deleting_users

我收到了这个错误。

我在这里收到此错误

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

1 个答案:

答案 0 :(得分:6)

问题不在于您没有任何用户。如果您没有用户,@users将是一个空数组,并且.each方法可以很好地工作(尽管没有任何内容可以迭代)

所以问题是@users未正确初始化。

查看您引用的页面上的9.23列表。你的控制器里有这个代码吗?

  def index
    @users = User.all
  end

这可能是缺少的。