如何使用Devise:记得吗?

我正在制作一个Rails应用程序。
我想实现一个“记住我”的复选框,以便用户在下次使用Devise:rememberable时跳过输入密码。但我无法弄清楚如何实现。
如果您对此有任何想法,请向我展示一些示例代码。

在用户模型中添加:rememberable选项

 class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :lockable, :omniauthable # ... end 

创建迁移以在用户表中添加remember_created_at

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

如果您未使用Devise默认视图,请将复选框添加到视图中:

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

我认为这就是你所需要的......

如果您编写自己的身份validation策略,则可能会遇到可记住的问题。 您的身份validation返回的资源对象(例如User )! 方法需要负责从表单数据中设置resource.remember_me 。 这通常由父Authenticable的validate方法处理。 如果您不使用此方法,则必须自己设置。