я получаю эту классическую ошибку:Неопределенный метод для переменной экземпляра, которая очень определена? Рельсы
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) })
Так как эти переменные но не мое, но мое приложение может «запомнить» значение одного из них и забывает о значении другого.
Я уверен, что это что-то очень просто, я спускаюсь, но я этого не вижу.
Сообщение об ошибке очень верно. Воспроизводить минимально: 'nil.count'; теперь, с учетом этого, это просто вопрос * почему * указанная переменная оценивается как «nil». Некоторые случаи для изучения: 1) назначение никогда не выполнялось * этот запрос *; 2) переменная была переназначена позже; 3) Job.where возвращает nil. Я подозреваю, что проблема №1. – user2246674
@ user2246674 Вы правы - задание выполнялось не по просьбе, я думал, что это делается - было слишком очевидно, чтобы видеть :) – notaceo