Un jour, une gem

27/06/2012

Mercredi c'est Wicked

gem install wicked

Des controllers étape par étape

Besoin de faire un formulaire qui fonctionne en plusieurs étapes, tout en gardant un code propre ? Wicked est fait pour vous. Pour mettre en place cette gem, on procède comme ceci :

Un nouveau controller

rails g controller after_signup

config/routes.rb

resources :after_signup

app/controllers/after_signup_controller.rb

include Wicked::Wizard
steps :confirm_password, :confirm_profile, :find_friends

Les différentes étapes utiliseront l’action show qui emploiera la méthode render_wizard afin d’afficher la bonne vue. Ce qui nous donne une action show comme ceci :

def show
  @user = current_user
  case step
  when :find_friends
    @friends = @user.find_friends
  end
  render_wizard
end

Les vues seront bien-sûr nommées comme ceci :

  • /views/after_signup/confirm_password
  • /views/after_signup/confirm_profile
  • /views/after_signup/find_friends

Voilà, c’est tout pour le moment.

Les liens utiles

Sur une idée de @msadouni