首页 > 解决方案 > 无法在 Rails Devise 上更新 Confirmed_at

问题描述

我正在尝试在 Rails 中使用 Devise 实现身份验证。当我发送确认电子邮件并实际点击电子邮件链接时,没有输入日期confirmed_at

app/views/devise/mailer/confirmation_instructions.html.erb

<p>Welcome <%= @email %>!</p>

<p>You can confirm your account email through the link below:</p>

<p><%= link_to 'Confirm my account', new_user_confirmation_url(@resource, confirmation_token: @token) %></p>

=> 链接到http://localhost:3000/users/confirmation/new.1?confirmation_token=XXXXXXXXXXXX

应用程序/模型/user.rb

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable, :confirmable
end

迁移文件

class DeviseCreateUsers < ActiveRecord::Migration[6.1]
  def change
    create_table :users do |t|

      ---

      ## Confirmable
      t.string   :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
      t.string   :unconfirmed_email # Only if using reconfirmable

      ---

  end
end

标签: ruby-on-railsdevise

解决方案


推荐阅读