Comment puis-je désactiver tous les messages flash de Devise gem ("connecté avec succès", "vous êtes déconnecté")? Merci.
Réponses
Trop de publicités?La façon la plus simple de le faire est probablement de
- Définir chaque message comme une chaîne vide
- Vérifiez la longueur de la chaîne avant d'afficher un message flash.
Dans votre fichier devise.en.yml
, spécifiez chaque message comme vide:
en:
errors:
messages:
not_found: ''
already_confirmed: ''
not_locked: ''
etc. Ensuite, dans votre mise en page, vérifiez la présence de chaînes flash vierges avant de les générer.
<% flash.each do |key, value| %>
<%= content_tag :div, value, :class => "flash #{key}" unless value.blank? %>
<% end %>
acrogenesis
Points
62
Une réponse qui me convenait mieux était de remplacer le contrôleur de session Devise comme ceci
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
super
flash.delete(:notice)
end
# DELETE /resource/sign_out
def destroy
super
flash.delete(:notice)
end
end
Cela remplace en toute sécurité la méthode create and destroy qui supprime le message flash
Tony Daly
Points
91