我正在制作一个 Rails 应用程序。
我想实现一个复选框“记住我”,以便用户下次使用 Devise:rememberable 跳过输入密码。但我不知道如何实现。
如果您对此有任何想法,请向我展示一些示例代码。
问问题
14161 次
2 回答
19
: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 %>
我想这就是你所需要的...
于 2012-08-04T17:28:28.240 回答
7
如果您编写自己的身份验证策略,您可能会遇到可记忆的问题。您的身份验证返回的资源对象(例如User
)!方法需要负责设置resource.remember_me
来自表单的数据。这通常由父 Authenticable 的validate方法处理。如果您不使用此方法,则必须自己设置。
于 2014-02-26T20:33:41.427 回答