使用带有Devise的rails,无论何时登录或注销设计都会在页面上发出Flash通知,从UI角度看这似乎不太必要,通常很明显,对吧?
有没有办法在设计中为登录和注销关闭闪存通知?
由于
答案 0 :(得分:7)
尝试在sessions_controller.rb中添加此代码。
class SessionsController < Devise::SessionsController
after_action :clear_sign_signout_flash, :only => [:create, :destroy]
protected
def clear_sign_signout_flash
if flash.key?(:notice)
flash.delete(:notice)
end
end
end
希望这会有所帮助: - )
答案 1 :(得分:1)
Devise有一种自定义此类行为的方法:覆盖控制器。打开Devise源代码,找到app / controllers / sessions_controller并将其复制到您的应用程序中。 Devise将开始使用您自己的控制器而不是自己的控制器。从那里,您可以轻松修改Flash消息。
答案 2 :(得分:0)
即使指定空字符串,您也可以转到本地化文件并自定义任何Flash消息。查看i8n下的文档,你会看到它是如何完成的。
答案 3 :(得分:0)
此问题的答案正确且更新:Rails Disable devise flash messages。