未定义的实例变量上的未定义方法?轨道

时间:2013-07-12 04:08:15

标签: ruby-on-rails mongodb jquery-mobile

我收到了这个经典错误:

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) })

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

我确信这是非常简单的我忽视的东西 - 但我没有看到它。

1 个答案:

答案 0 :(得分:0)

您的错误显示为undefined method 'count' for nil:NilClass,这意味着@accepted_jobs为零。 nil:NilClass部分是这里的线索。

您可以将其重写为:

<% if @today_jobs?
  <% if @today_jobs.count == 0 %>
   ...
  <% end %>
<% end %>