Я пытаюсь определить константу в файле инициализации и использовать ее в модели.Использование константы в модели
конфигурации/Инициализаторы/constants.rb
DEFAULT_EVENT_DURATION = 15
приложение/модели/event.rb
class Event < ActiveRecord::Base before_validation :set_end_and_allday [...] def set_end_and_allday self.allDay ||= false self.end_event ||= self.start + DEFAULT_EVENT_DURATION.minute end end
Однако, когда пытаются создать новое событие, он отображает следующую ошибку в журналах:
NameError - uninitialized constant Event::DEFAULT_EVENT_DURATION
Я делаю что-то неправильно?
Я сделал некоторые поиски в google, но я не нашел решения (кроме определения константы в модели, а не в инициализаторе ... и это не то, что я хочу сделать).
Вы не забыли перезапустить сервер? Инициализаторы запускаются только при первом загрузке сервера –
Да, выполнив простой 'touch tmp/restart.txt' (я использую pow). –
В нем говорится, что он ищет 'Event :: DEFAULT_EVENT_DURATION', попробуйте' :: DEFAULT_EVENT_DURATION' для доступа к константе в корне. – rudolph9