0

我收到了这个经典错误:

ActionView::Template::Error (undefined method `count' for nil:NilClass):
    34:             </li>
    35:             <%end%>
    36: 
    37:             <%if @today_jobs.count == 0 %>

但在上面的行中:

    <%if @accepted_jobs.count == 0 %>

在控制器中:

@accepted_jobs = Job.where({:status => ["2", "4"],:admin_id => session[:user_id].to_s})
@today_jobs = Job.where({:status => "2",:admin_id=>session[:user_id].to_s,:start_date => Date.to_mongo(Date.today) })

所以这两个变量都被定义了,并没有那么不同,但是我的应用程序可以“记住”其中一个的值而忘记另一个的值。

我确定这是我忽略的非常简单的事情 - 但我没有看到它。

4

1 回答 1

0

你的错误说undefined method 'count' for nil:NilClass这意味着那@accepted_jobs是零。这nil:NilClass部分是这里的线索。

您可以将其重写为:

<% if @today_jobs?
  <% if @today_jobs.count == 0 %>
   ...
  <% end %>
<% end %>
于 2013-07-12T04:30:32.793 回答