操作控制器查看尝试列出所有用户的问题

时间:2012-03-22 18:18:02

标签: ruby-on-rails

我的user_controller.rb文件中有这个简单的代码

  #listing all users
  def index
    @users = User.all # getting all the users!
  end

和视图文件夹我得到了这个:

<!-- View for index action in user's controleer -->
<h1>All users</h1>

<ul class="users">
  <% @users.each do |user| %>
    <li>
      <%= link_to user.name, user %>
    </li>
  <% end %>
</ul>

User.all.count返回13。

现在代码很简单。为什么我会收到此错误?

NoMethodError in Users#index 
undefined method `each' for nil:NilClass

2 个答案:

答案 0 :(得分:1)

user_controller.rb 重构为 users_controller.rb

您使用错误的视图调用了错误的控制器!

答案 1 :(得分:0)

它表示您尝试在用户上调用每个方法,但用户不存在。出于某种原因,将此行更改为:

<% @user.each do |user| %>

可能会奏效。模型是单数,控制器是复数。确保你正确设置。