【问题标题】:How to use Devise: rememberable?如何使用设计:可记忆?
【发布时间】:2012-08-02 08:58:06
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails devise remember-me


    【解决方案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 方法处理。如果不使用此方法,则必须自己设置。

      【讨论】:

        猜你喜欢
        • 2011-07-30
        • 1970-01-01
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        • 2014-01-07
        • 2022-11-03
        • 2018-06-25
        相关资源
        最近更新 更多