我的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
答案 0 :(得分:1)
将 user_controller.rb 重构为 users_controller.rb 。
您使用错误的视图调用了错误的控制器!
答案 1 :(得分:0)
它表示您尝试在用户上调用每个方法,但用户不存在。出于某种原因,将此行更改为:
<% @user.each do |user| %>
可能会奏效。模型是单数,控制器是复数。确保你正确设置。