【Rails】NoMethodError (undefined method `current_sign_in_at' for #<User:XXXXXXXXXXXXXX>):
はじめに
Railsでgem devise_token_authを導入時に発生した内容です。
Eメール認証の確認をしようと、
http://localhost:3000/api/v1/auth/sign_in
にPOSTリクエストを出すと以下エラーが発生しました。
Started POST "/api/v1/auth/sign_in" for ... Processing by ... DeviseTokenAuth::SessionsController#create as JSON
...
Completed 500 Internal Server Error in 311ms (ActiveRecord: 17.4ms | Allocations: 7912)
NoMethodError (undefined method `current_sign_in_ip' for #<User:...>):
※rails serverより抜粋。
このエラーに対して、自分がうまくいった解決法を残します。
環境
OS: macOS Catalina 10.15.1
Ruby: 2.6.5
Rails: 6.0.2.1
結論:user.rb
を修正
Before
app/models/user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
include DeviseTokenAuth::Concerns::User
end
↓
After
app/models/user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
include DeviseTokenAuth::Concerns::User
end
:trackable
を削除すると無事に通るようになりました。
おわりに
最後まで読んで頂きありがとうございました
どなたかの参考になれば幸いです
参考にさせて頂いたサイト(いつもありがとうございます)
Author And Source
この問題について(【Rails】NoMethodError (undefined method `current_sign_in_at' for #<User:XXXXXXXXXXXXXX>):), 我々は、より多くの情報をここで見つけました https://qiita.com/terufumi1122/items/d5530bc87689d886dee8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .