如何使用设计:可记忆?
Posted
技术标签:
【中文标题】如何使用设计:可记忆?【英文标题】:How to use Devise: rememberable? 【发布时间】:2012-08-02 08:58:06 【问题描述】:我正在制作一个 Rails 应用程序。 我想实现一个复选框“记住我”,以便用户下次使用 Devise:rememberable 跳过输入密码。但我不知道如何实现。 如果您对此有任何想法,请向我展示一些示例代码。
【问题讨论】:
【参考方案1】:在您的用户模型中添加: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
如果您不使用设计默认视图,请将复选框添加到您的视图中:
<%= f.check_box :remember_me %> <%= f.label :remember_me %>
我想这就是你所需要的……
【讨论】:
【参考方案2】:如果您编写自己的身份验证策略,您可能会遇到可记忆的问题。您的身份验证返回的资源对象(例如User
)!方法需要负责从表单数据中设置resource.remember_me
。这通常由父 Authenticable 的 validate 方法处理。如果不使用此方法,则必须自己设置。
【讨论】:
以上是关于如何使用设计:可记忆?的主要内容,如果未能解决你的问题,请参考以下文章