Я думаю, что у меня замерзли мозг, но я не могу понять, как это сделать ... Заранее спасибо за помощь.Если время обновлено дольше, чем X
У меня есть несколько полей в моей таблице местоположений, которые обновляется внешним скриптом каждые 5 минут. Если они не обновляются более 1 часа, электронное письмо будет отправлено администраторам сайта.
Это было достаточно просто получить список мертвых мест:
scope :not_responding, lambda {
where('last_heartbeat < ?', Time.now - 1.hour)
}
То, что я застрял на должна быть очень простой .... Все, что я хочу сделать, это изменить стиль названия местоположения так он красный, если он не отвечает.
%td
- @locations.each do |locations|
= if ('locations.last_heartbeat < ?', Time.now - 1.hour)
red
-else
green
Но выдает ошибку (неожиданную «»)
Может кто-нибудь подскажет, как переместить это в моей модели ??
- ОБНОВЛЕНО -
Я не уверен, если это ошибка или что, но я вижу некоторые странные результаты.
Используя ответ ниже, я добавил это:
def not_responding?
last_heartbeat < (Time.now - 1.hour)
end
И вызов с помощью:
- if location.not_responding?
red
- else
green
Однако, это дало мне ошибку о '<' быть не определено.
В конце концов, я должен был сделать это, чтобы заставить его работать. Все кажется смешным ....
def not_responding
last_heartbeat <=> (Time.now - 1.hour)
end
И в представлении:
- if (hotspot.not_responding_two == -1)
red
- else
green
Не имеет смысла, так как тест последующий было нормально:
def test?
Time.now > (Time.now - 1.hour)
end
Спасибо за ответ. Пришлось поставить «я» infront of not_ответ, но это порождает ошибку: «Сравнение символа с временем не удалось» ?? – simonmorley
'self' определенно не объект, который не имеет значения? определенная на нем, поэтому я не знаю, какой метод вы вызываете в этом случае. – Veraticus
о. Без self.not_ответ? Я получаю ошибку undefined метод 'not_ответ? – simonmorley