我收到了这个经典错误:
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) })
所以这两个变量都是定义的,没有那么不同,但是我的应用程序可以“记住”其中一个变量的值并忘记另一个变量的值。
我确信这是非常简单的我忽视的东西 - 但我没有看到它。
答案 0 :(得分:0)
您的错误显示为undefined method 'count' for nil:NilClass
,这意味着@accepted_jobs
为零。 nil:NilClass
部分是这里的线索。
您可以将其重写为:
<% if @today_jobs?
<% if @today_jobs.count == 0 %>
...
<% end %>
<% end %>