cheat sheets.

$ cheat devise
Devise is a flexible authentication.

https://github.com/plataformatec/devise

Installation
------------

Rails 3: Add the following to your Gemfile

    gem "devise"
    gem "hpricot"
    gem "ruby_parser"

Install devise in your project

    $ rails generate devise:install

Generate devise for your model

    $ rails generate devise MODEL
    $ rake db:migrate

(Optional) Generate devise views

    $ rails generate devise:views

Helpers
-------

    user_signed_in?
    current_user
    user_session
    destroy_user_session_path (Logout)
    new_user_session_path (Login)
    edit_user_registration_path (Edit registration)
    new_user_registration_path (Register new user)

Controller stuff
----------------

    before_filter :authenticate_user!

Model
-----

### Model options

    class User < ActiveRecord::Base
      devise :database_authenticatable,
        :registerable,
        :confirmable,
        :recoverable,
        :rememberable,
        :trackable,
        :validatable
    end

### Migration helpers

    create_table :users do |t|
      t.database_authenticatable
      t.confirmable
      t.recoverable
      t.rememberable
      t.trackable
      t.timestamps
    end

Routing
-------

### Authenticated and unauthenticated routes

    unauthenticated do
       root :to => 'home#index'
    end

    authenticated do
      root :to => 'dashboard#index'
    end

### As
    as :user do
      get 'sign_in', :to => 'devise/sessions#new'
    end

### Devise_for magic
  
    devise_for :users

        # Session routes for Authenticatable (default)
             new_user_session GET  /users/sign_in                   
             {:controller=>"devise/sessions", :action=>"new"}
                 user_session POST /users/sign_in                   
                 {:controller=>"devise/sessions", :action=>"create"}
         destroy_user_session GET  /users/sign_out                  
         {:controller=>"devise/sessions", :action=>"destroy"}
       
        # Password routes for Recoverable, if User model has :recoverable
        configured
            new_user_password GET  /users/password/new(.:format)    
            {:controller=>"devise/passwords", :action=>"new"}
           edit_user_password GET  /users/password/edit(.:format)   
           {:controller=>"devise/passwords", :action=>"edit"}
                user_password PUT  /users/password(.:format)        
                {:controller=>"devise/passwords", :action=>"update"}
                              POST /users/password(.:format)        
                              {:controller=>"devise/passwords",
                              :action=>"create"}
       
        # Confirmation routes for Confirmable, if User model has :confirmable
        configured
        new_user_confirmation GET  /users/confirmation/new(.:format)
        {:controller=>"devise/confirmations", :action=>"new"}
            user_confirmation GET  /users/confirmation(.:format)    
            {:controller=>"devise/confirmations", :action=>"show"}
                              POST /users/confirmation(.:format)    
                              {:controller=>"devise/confirmations",
                              :action=>"create"}

### Customizing devise_for

    devise_for :users,
      :path => "usuarios",
      :path_names => {
        :sign_in => 'login',
        :sign_out => 'logout',
        :password => 'secret',
        :confirmation => 'verification',
        :unlock => 'unblock',
        :registration => 'register',
        :sign_up => 'cmon_let_me_in' }

Test helpers
------------

    sign_in @user
    sign_out @user
Version 5, updated 241 days ago.
. o 0 ( | previous | history | revert to | current | diff )
( add new | see all )