2012-08-04 58 views
10

我在製作Rails應用程序。
我想實現一個複選框'記住我',讓用戶在下次使用Devise時跳過輸入密碼:rememberable.but但我無法弄清楚如何實現。
如果你有任何想法,請給我看一些示例代碼。如何使用Devise:可記憶?

回答

13

添加:rememberable選項,您的用戶模型

class User < ActiveRecord::Base 

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

    # ... 

end 

創建遷移到用戶

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

如果你不使用默認的設計意見表中添加了remember_created_at列,將複選框添加到您的視圖中:

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

我認爲那就是人l您需要...

+0

它沒有爲我工作!任何其他方法? – Prem 2012-11-22 10:55:09

+0

此代碼無法使用。 – indb 2016-03-14 11:05:55

+0

不適合我:O – ImranNaqvi 2016-03-21 13:36:33

4

如果您編寫自己的身份驗證策略,您可能會遇到可記住的問題。資源對象(例如User)由您的身份驗證返回!方法需要負責從表單數據中設置resource.remember_me。這通常由父母Authenticable的validate方法處理。如果你不使用這種方法,你必須自己設置它。