``` 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文件:
```ruby devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable include DeviseTokenAuth::Concerns::User ```
注释掉这些行后,它会抛出到包含以下内容的应用控制器的错误:
```ruby include DeviseTokenAuth::Concerns::SetUserByToken ```
注释掉这一行后,会出现`devise:orm`错误。
还尝试将`devise`添加到Gemfile并为用户安装`devise`,但也失败了,再次抛出错误`undefined method 'devise' for User (call 'User.connection' to establish a connection)`。
期望迁移成功,但出现了`Devise`错误。
要解决此问题,应该检查`config/initializers/devise.rb`文件是否存在,并确保`config.authentication_keys`设置正确。如果没有此文件,请创建该文件并编写必要的配置。如果仍然出现问题,您可能需要检查数据库连接是否正确。
NoMethodError: undefined method 'devise' for User (call 'User.connection' to establish a connection):Class
- Aman Relan