2013-05-19 2 views
0

Кажется, Heroku/PostgreSQL не поддерживает strftime. Так что, если я хочу, чтобы преобразовать что-то вроде:Почему Героку не любят strftime?

@event.date_start.strftime("%B #{@event.date_start.day.ordinalize}") 

Каковы варианты без использования strftime?


Edit:

Вот мой Heroku журнал ошибок. Это спотыкаясь на strftime, который работает нормально в SQLite в моем Dev среде:

2013-05-19T15:51:07.001968+00:00 app[web.1]: ActionView::Template::Error (undefined method `strftime' for nil:NilClass): 
+0

что у вас есть и как результат выглядит, как вы хотите. Приведи примеры. –

+0

Я не думаю, что это 'Heroku' или' postgres', тот же код работает для меня в командной строке Heroku, когда я пытаюсь. –

+0

Вы уверены, что '@ event.date_time.respond_to? : strftime' и '@ event.date_start.respond_to? : day' (что означает: вы не переопределили свой атрибут getter)? – DMKE

ответ

3

Проблема заключается в том, что @event не имеет date_start:

2013-05-19T15:51:07.001968+00:00 app[web.1]: ActionView::Template::Error (undefined method `strftime' for nil:NilClass) 

выше ошибка означает, что strftime является время вызванный на объекте nil, который в вашем случае @eventdate_start.

Если в ваших записях событий всегда есть date_start, обновите или удалите проблемный.
В противном случае вы можете использовать try:

@event.date_start.try(:strftime, "%B #{@event.date_start.day.ordinalize}") 
+0

Хм, хорошо. Тем не менее, я не могу понять, почему strftime устанавливается отлично, прежде чем я нажимаю на Heroku (и это нормально, если я запускаю тот же код в консоли Ruby). – matski

+1

Это относится к записям, сохраненным в вашей базе данных. Итак, в вашей базе данных разработки ваши записи в порядке, но на Heroku одна или несколько записей вашего события не имеют этого поля, которые были сохранены правильно. Запустите 'heroku run rails console' и' Event.where ("date_start is null") ', чтобы найти плохие записи. –

+0

Спасибо mind.blank - У меня была одна запись (первая) без данных, и она отбрасывала остальных! – matski

Смежные вопросы