NoMethodError: undefined method `current_sign_in_at' for #User:0x000055ce01dcf0a8 by using Devise_token_auth rails gem is not working
NoMethodError: undefined method `current_sign_in_at' for #User:0x000055ce01dcf0a8 by using Devise_token_auth rails gem is not working
NoMethodError: #User:0x000055ce01dcf0a8
的未定义方法“current_sign_in_at”
我认为这是某种会话方法错误
我有一个用于前端的 angular6 应用程序和用于后端的 rails,所以对我来说最好的选择是选择 devise_token_auth 和 ng_token_auth 进行用户身份验证。
我安装了 devise_token_auth gem 然后在终端中执行了这行代码
"rails generate devise_token_auth:install User auth"
并且在迁移时出现错误,我通过添加
解决了这个问题
"extend Devise::Models"
到 USER 模型然后迁移成功,然后我在后端创建了一个用户并尝试使用邮递员调用 sign_in 并且出现错误 "NoMethodError: undefined method `current_sign_in_at' for #User:0x000055ce01dcf0a8"
我希望用户使用此 gem 或其他 gem 进行身份验证(如果它们存在)
我最近遇到了这个问题,结果发现我的迁移中没有可跟踪的字段。有两种方法可以解决此问题:
选项一。添加一个新迁移,将可跟踪字段添加到 User
## Trackable
t.integer :sign_in_count, default: 0, null: false
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.inet :current_sign_in_ip
t.inet :last_sign_in_ip
运行 耙子 db:migrate
第二种选择:运行向下迁移
从这个命令开始 - 添加您的迁移版本号
rake db:migrate:down VERSION=xxxxxxxxxxxxxx
然后您应该能够将可跟踪字段添加到迁移文件,然后 运行
rake db:migrate up VERSION=xxxxxxxxxxxxxx
运行 耙子 db:migrate
对我有用。
我的迁移看起来像这样:
class AddTrackableFieldsToUser < ActiveRecord::Migration[6.0]
def change
change_table :users do |t|
t.integer :sign_in_count, default: 0, null: false
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.inet :current_sign_in_ip
t.inet :last_sign_in_ip
end
end
end
NoMethodError: #User:0x000055ce01dcf0a8
的未定义方法“current_sign_in_at”我认为这是某种会话方法错误
我有一个用于前端的 angular6 应用程序和用于后端的 rails,所以对我来说最好的选择是选择 devise_token_auth 和 ng_token_auth 进行用户身份验证。
我安装了 devise_token_auth gem 然后在终端中执行了这行代码
"rails generate devise_token_auth:install User auth"
并且在迁移时出现错误,我通过添加
解决了这个问题"extend Devise::Models"
到 USER 模型然后迁移成功,然后我在后端创建了一个用户并尝试使用邮递员调用 sign_in 并且出现错误 "NoMethodError: undefined method `current_sign_in_at' for #User:0x000055ce01dcf0a8"
我希望用户使用此 gem 或其他 gem 进行身份验证(如果它们存在)
我最近遇到了这个问题,结果发现我的迁移中没有可跟踪的字段。有两种方法可以解决此问题:
选项一。添加一个新迁移,将可跟踪字段添加到 User
## Trackable
t.integer :sign_in_count, default: 0, null: false
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.inet :current_sign_in_ip
t.inet :last_sign_in_ip
运行 耙子 db:migrate
第二种选择:运行向下迁移
从这个命令开始 - 添加您的迁移版本号
rake db:migrate:down VERSION=xxxxxxxxxxxxxx
然后您应该能够将可跟踪字段添加到迁移文件,然后 运行
rake db:migrate up VERSION=xxxxxxxxxxxxxx
运行 耙子 db:migrate
我的迁移看起来像这样:
class AddTrackableFieldsToUser < ActiveRecord::Migration[6.0]
def change
change_table :users do |t|
t.integer :sign_in_count, default: 0, null: false
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.inet :current_sign_in_ip
t.inet :last_sign_in_ip
end
end
end