Devise_token_auth冲突?

Ama*_*lan 1 ruby ruby-on-rails devise ruby-on-rails-5 devise-token-auth

使用默认的--api标签在rails 5中制作了一个新API,并使用command安装了devise_token_auth gem rails generate devise_token_auth:install User auth。这样做时rake:db:migrate,我得到这个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 在注释掉这一行之后,我得到了devise:orm错误。

还尝试将devise添加到gemfile并为用户安装devise,但也失败了,再次抛出此错误 undefined method 'devise' for User (call 'User.connection' to establish a connection)

预期要进行的迁移,

出现设计错误

应该怎么做才能解决这个问题?

PS-这是我使用Devise_token_auth gem制作的第三个API,之前没有遇到过此问题

dha*_*esh 5

这是一个设计问题,ActiveRecord ORM已在gem内进行了硬编码,之前已进行了更改。可以通过创建和添加以下文档中提到的devise初始化程序来解决。

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

通过在user.rb模型文件中添加以下内容,还有另一种解决此问题的方法。

extend Devise::Models
Run Code Online (Sandbox Code Playgroud)

devise_token_auth中还有一个未解决的问题

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

您可以在哪里跟进有关此问题的问题/添加您的想法以解决此问题。