Un jour, une gem

12/06/2012

Mardi c'est Cells

gem install cells

Pour des applications Rails pluricellulaires

Admettons que vous êtes en train de faire un e-commerce en Rails et que vous avez besoin d’afficher sur toutes vos vues un petit panier. En général pour ce genre de chose on part sur un mix entre controllers / helpers / partials etc. Eh bien c’est NUL ! Utilisez Cells :)

Pour continuer avec cet exemple, on commence par générer notre nouvelle cellule :

rails generate cell cart display -e haml

Cette commande va créer un dossier cells/ ainsi que la cellule cart avec l’action display et un partial en haml.

Le code de notre cellule d’exemple ressemble à ça :

class CartCell < Cell::Rails
  def display(args)
    user    = args[:user]
    @items  = user.items_in_cart

    render  # affichera display.html.haml
  end
end

Maintenant pour appeler l’action display de notre cellule fraîchement générée, on fait comme ceci :

<%= render_cell :cart, :display, :user => @current_user %>

Ensuite on édite la vue associée. Mais ça, vous le saviez déjà :)

C’est tout pour aujourd’hui !

Le lien utile