• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 17/01/2017

Ajoutez des notifications avec les messages flash

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Un message flash est une notification qui indique qu’une opération s’est bien ou mal déroulée. Par exemple, afficher « Le livre a bien été modifié » suite à la modification d’un livre est un message flash.

Certaines variables ont des comportements spéciaux :

  • Vous connaissez params, un hash qui récupère les données de vos formulaires et variables de vos adresses. Par exemple, /books/5, dont la route est /books/:id, va donner accès au contrôleur à la variable params[:id] dont la valeur sera 5 .

  • Il existe une autre variable spéciale : flash. C’est aussi un hash qui a la particularité suivante : tout ce que vous mettez à l’intérieur sera disponible le temps d’une redirection.

    Par exemple :

# app/controllers/books_controller.rb
def update
  @book = Book.find(params[:id])
  if @book.update title: params[:title]
    flash[:success] = "Le livre a été mis à jour."
    redirect_to "/books/#{params[:id]}"
  else
    render 'show'
  end
end
# app/views/layout/application.html.erb
<div><%= flash[:success] %></div>
<%= yield %>

Juste avant la redirection, nous insérons un message pour la clé success. Dans le layout, j’affiche le contenu de flash[:success]. Ainsi, en tête du site, s’affichera mon message après modification du livre.

Exemple de certificat de réussite
Exemple de certificat de réussite