ruby-on-rails - 无法在 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
解决方案
推荐阅读
- python - pika 将标头添加到 nack 响应
- angular - 在单元测试中处理 Angular 错误的问题
- java - 如何将 UnitOfWork 模式与 IdentityMap 模式一起使用?
- reactjs - 在 React 组件中交换 React 上下文
- google-apps-script - 如何使用 Apps 脚本在 Google 表单复选框上导入选中的选项?
- regex - 你怎么能'不'在正则表达式中允许非空格?
- spring-data - 加载 OneToOne 关系的嵌套对象
- java - 从包含多个类的 java 文件中导入 java 类
- c++ - 为什么尾随分隔符会改变 Boost.Filesystem 中相对路径转换的行为?
- apache-spark - 从 RDD 转换为 DataFrame 时,我得到一个 EOFError。是什么导致了这种情况,我该如何阻止它?