使用设计时,我遇到有关消息的问题:
1.我不想在登录后显示提醒并重定向到管理员的首页
2.I覆盖方法require_no_authentication of devise
def require_no_authentication
super
flash.delete :alert
end
3.如果:我登录帐户被删除(软删除,deleted_at!= nil)。我没有显示警报无效("您的帐户被删除")对我来说。我想要保持警惕
4.我有一个解决方案如下:
def require_no_authentication
super
flash.delete :alert unless flash[:alert] ==
I18n.t("devise.failure.admin.inactive")
end
我无法通过登录退出覆盖所有具有闪光警报的案例
5.我们可以有另一个实现,你能告诉我所有的情况都会调用require_no_authentication方法吗? 非常感谢!答案 0 :(得分:0)
要轻松删除特定警报,您只需在devise.en.yml文件或相应的翻译文件中取消设置该特定警报消息,如下所示。
sessions:
signed_in: ''
检查您正在呈现警报的位置。
<% flash.each do |name, msg| %>
<%= content_tag :div, msg, :id => "flash" if msg.length > 0 %>
<% end %>
您可以使用css但不能使用。
.flash.alert:empty {
display: none;
}
对于require_no_authentication方法,它是内部设计使用的之前操作。建议不要覆盖此方法。如果您对此解决方案有疑问,请告诉我。