Rails de Désactiver concevoir des messages flash
Comment je peux désactiver toutes les Concevoir gem flash messages ("connexion établie","vous vous êtes déconnecté")? Merci.
- Doublons cette question stackoverflow.com/questions/5281365/...
Vous devez vous connecter pour publier un commentaire.
Probablement la façon la plus simple de le faire est de
Dans votre
devise.en.yml
fichier, spécifiez chaque message comme vide:etc. Ensuite, dans votre mise en page, vérifier flash vierge chaînes avant leur sortie.
Une réponse mieux adaptée pour moi a été de remplacer le dispositif Contrôleur de Session comme ceci
Ce en toute sécurité remplace le créer et de détruire la méthode de retrait du message flash
J'ai été en mesure de les désactiver d'un contrôleur donné par substitution de
is_flashing_format?
:Je suis l'aide de Concevoir 3.5.6
Ce travail pour moi:
- Je utiliser
Users::SessionsController
mais vous pouvez utiliserSessionsController
, je viens de concevoir un modèle dans cet exemple.- Je utiliser
flash.discard(:notice)
mais vous pouvez utiliserflash.discard
d'en supprimer d'autres types en même temps. (méthode de jeter existent depuis des rails 3.0)Je préfère cette approche, parce que ce n'est pas le rôle de la vue pour vérifier si votre message flash si le champ est vide. Si vous avez un message flash, de l'imprimer! Si vous ne voulez pas, afin de ne pas créer de message flash 😉
after_filter
au lieu deafter_action
Pour les Rails 5.0.6 ce code fonctionne.
app/controllers/sessions_controller.rb
Ne pas oublier les routes.
config/routes.rb
devise_for :users, controllers: { sessions: 'sessions' }
Concevoir comprend une pratique générateur de copier tous les points de vue dans votre projet:
De cette façon, vous pouvez modifier la vue sur vous-même et de décider ce que vous voulez garder ou de jeter des (messages flash).