2012-08-04 14 views
10

Sto creando un'app Rails.
Vorrei implementare una casella di controllo 'ricordami di me' per gli utenti di saltare l'immissione della password dalla prossima volta con l'utilizzo di Devise: rememberable.but Non riesco a capire come implementare.
se avete qualche idea con questo, per favore mostrami qualche esempio di codice per questo.Come utilizzare Devise: ricordabile?

risposta

13

aggiungere l'opzione :rememberable nel vostro modello User

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, 
     :validatable, :token_authenticatable, :lockable, :omniauthable 

    # ... 

end 

Creare una migrazione per aggiungere la colonna remember_created_at nella tabella degli utenti

class AddRememberCreatedAtToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :remember_created_at, :datetime 
    end 
end 

Se non si utilizza il punto di vista Devise predefinite, aggiungi la casella di controllo alla tua vista:

<%= f.check_box :remember_me %> <%= f.label :remember_me %> 

Penso che sia tutto l hai bisogno ...

+0

Non ha funzionato per me! Qualche altro approccio? – Prem

+0

Questo codice non funziona. – indb

+0

non funziona anche per me: O – ImranNaqvi

4

Potresti riscontrare problemi con il ricordo se scrivi le tue strategie di autenticazione. L'oggetto risorsa (ad esempio User) restituito dall'autenticato! il metodo deve essere responsabile dell'impostazione dello dai dati del modulo. Questo è normalmente gestito dal metodo validate del genitore Authenticable. Se non utilizzi questo metodo, dovrai impostarlo da solo.

Problemi correlati