2017-02-11 4 views
0

Im создает приложение для рельсов со специальными истечениями. Каждый раз, когда кто-то входит в систему, у меня есть Def, который ищет специальные, которые уже истекли, а затем удаляет их. Он отлично работает локально, но когда я развернуть его на Heroku, я получаю эту ошибку:Heroku PostgreSQL дает ошибки при использовании оператора <= ", где оператор

ActiveRecord::StatementInvalid (PG::UndefinedFunction: ERROR: operator does not exist: character varying <= numeric 

и намек:

HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. 

Вот ДЕФ я создал. Я добавил before_filter в контроллере приложения для опр

def check_expired 
    time = DateTime.now.to_f.to_s 
    @specials = Special.where("expires <= #{DateTime.now.to_f.to_s}") 
    @specials.destroy_all 
end 

ответ

0

Пусть Rails обрабатывать даты для вас и сделать это так

@specials = Special.where('expires <= ?', Time.zone.now) 

или просто ...

@specials = Special.where('expires <= NOW()')