我在我的Rails项目中使用Devise身份验证gem,我想更改它在闪存警报中使用的密钥.(设计使用:通知和:警告闪存键,但我想将它们更改为:成功和:错误,以便我可以使用Bootstrap显示漂亮的绿色/红色框.)
所以我希望能够以某种方式覆盖DeviseController中的set_flash_message方法.
这是新方法:
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
Run Code Online (Sandbox Code Playgroud)
但我只是不知道该把它放在哪里.
更新:
基于答案,我使用以下代码创建了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
Run Code Online (Sandbox Code Playgroud)
但这会导致每个Devise操作出错: …