簡體   English   中英

Devise_token_auth沖突?

[英]Devise_token_auth conflicts?

使用默認的--api標簽在rails 5中制作了一個新API,並使用命令rails generate devise_token_auth:install User auth安裝了devise_token_auth gem。 在執行rake:db:migrate ,我得到了undefined method 'devise' for User (call 'User.connection' to establish a connection)此錯誤undefined method 'devise' for User (call 'User.connection' to establish a connection) ,這很奇怪,因為devise_token_auth建立在devise之上。

因此,注釋掉路由會向包含以下內容的user.rb文件拋出錯誤

devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable include DeviseTokenAuth::Concerns::User

在注釋掉這些行之后,它將向包含以下內容的應用程序控制器拋出錯誤: include DeviseTokenAuth::Concerns::SetUserByToken在注釋掉這一行之后,我得到了include DeviseTokenAuth::Concerns::SetUserByToken :orm錯誤。

還嘗試將devise添加到gemfile並為用戶安裝devise,這也失敗了,再次undefined method 'devise' for User (call 'User.connection' to establish a connection)拋出此錯誤undefined method 'devise' for User (call 'User.connection' to establish a connection)

預期要進行的遷移,

出現設計錯誤

應該怎么做才能解決這個問題?

PS-這是我使用Devise_token_auth gem制作的第三個API,之前沒有遇到過此問題

這是一個設計問題,ActiveRecord ORM已在gem內進行了硬編碼,之前已進行了更改。 可以通過創建和添加以下文檔中提到的devise初始化程序來解決。

https://devise-token-auth.gitbook.io/devise-token-auth/config/初始化

通過在user.rb模型文件中添加以下內容,還有另一種解決此問題的方法。

extend Devise::Models

devise_token_auth中還有一個未解決的問題

https://github.com/lynndylanhurley/devise_token_auth/issues/1276

您可以在哪里跟進有關此問題的問題/添加您的想法以解決此問題。

您是否執行了以下步驟-

gemfile包含gemfile

gem 'devise_token_auth'

運行發電機:

rails generate devise_token_auth:install User auth

檢查是否在User模型中添加了以下行:

include DeviseTokenAuth::Concerns::User

檢查是否在Application controller添加了以下行:

include DeviseTokenAuth::Concerns::SetUserByToken

檢查是否在routes.rb添加了以下行:

mount_devise_token_auth_for 'User', at: 'auth'

在用戶模型中添加extend Devise::Models

運行rake db:migrate

您可以嘗試刪除devise,devise_token_auth gem並嘗試以下步驟嗎? 讓我知道是否出現任何錯誤。

我收到此錯誤,這對我來說是一個解決方法。

1)在Gemfile中添加'devise_token_auth'gem。

2)運行rails g devise:install

3)運行rails生成devise_token_auth:安裝用戶身份驗證

4)運行rails db:migrate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM