未定义的方法`每个'对于nil:NilClass在控制器中带有`order`和`limit`

时间:2016-09-03 23:19:40

标签: ruby-on-rails

我试图在变量scanf()(我的users表格中的一列)中创建排名前10位manpoints的简单列表,但不断获取:

users

这是我的undefined method `each' for nil:NilClass

erb

这是我 <h1 class="text-center">Manliest Men</h1> <ol> <%= @manliest_men.each do |user| %> <li><%= user.first_name %></li> <% end %> </ol> 页面的控制器,index生活在那里:

erb

我觉得这很简单,但我无法弄清楚我哪里出错了。谁能给我一个提示?

1 个答案:

答案 0 :(得分:0)

请检查:Similar question

引用@Dylan Markow

你应该使用&lt;%,not&lt;%=作为你的.each行,所以

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

应该是

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

编辑:

实际问题出在控制器中,特别是订单:

def index
    render layout: 'nofooter'
    @manliest_men = User.order("manpoints DESC").limit(10)
end

应该是:

def index
    @manliest_men = User.order("manpoints DESC").limit(10)
    render layout: 'nofooter'
end