В моем проекте Rails я использую Devise, и я хочу изменить ключи, которые он использует в флэш-предупреждениях. (Devise использует: уведомление и: предупреждает флеш-ключи, но я хочу изменить их на: success и: error, чтобы я мог отображать красивые зеленые/красные поля с Bootstrap.)
Итак, я хочу, чтобы как-то переопределить метод set_flash_message
в DeviseController.
Здесь новый метод:
def set_flash_message(key, kind, options = {})
if key == 'alert'
key = 'error'
elsif key == 'notice'
key = 'success'
end
message = find_message(kind, options)
flash[key] = message if message.present?
end
Но я просто не знаю, куда его поместить.
UPDATE:
На основе ответа я создал файл config/initializers/overrides.rb со следующим кодом:
class DeviseController
def set_flash_message(key, kind, options = {})
if key == 'alert'
key = 'error'
elsif key == 'notice'
key = 'success'
end
message = find_message(kind, options)
flash[key] = message if message.present?
end
end
Но это вызывает ошибку при каждом действии Devise:
Ошибка маршрутизации: undefined метод 'prepend_before_filter' для Разрабатывают:: SessionsController: Класс