如何使用Devise:记得吗?

Tai*_*Tai 15 ruby-on-rails remember-me devise

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

Bal*_*ick 16

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

class User < ActiveRecord::Base

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

  # ...

end
Run Code Online (Sandbox Code Playgroud)

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

class AddRememberCreatedAtToUsers < ActiveRecord::Migration
  def change
    add_column :users, :remember_created_at, :datetime
  end
end
Run Code Online (Sandbox Code Playgroud)

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

<%= f.check_box :remember_me %> <%= f.label :remember_me %>
Run Code Online (Sandbox Code Playgroud)

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


Gab*_*esy 6

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