首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails应用程序NoMethodError中添加Devise :未定义的为用户设计的方法(调用'User.connection‘来建立连接

在Rails应用程序NoMethodError中添加Devise :未定义的为用户设计的方法(调用'User.connection‘来建立连接
EN

Stack Overflow用户
提问于 2021-03-13 21:13:31
回答 1查看 534关注 0票数 0

当向应用程序添加时,现有用户犯忘记运行安装程序的错误时,数据库似乎无法迁移,并且在运行NoMethodError时无法设计路由:用户未定义的方法“Devise”(调用'User.connection‘来建立连接**)

环境

Ruby 2.6.3 Rails 6.1.3设计4.7.3

示例应用程序

https://github.com/jasonfb/DEVISE002

复制步骤

1- rails new TestApp

2- cd TestApp/

3-将gem devise添加到Gemfile & bundle安装

4.现在,创建一个用户模型(就像在向应用程序添加Devise之前已经存在了一个用户模型一样),使用rails generate model User进行此操作。

5-现在犯忘记运行本身的错误。

现在使用rails generate devise User在您已经创建的用户上运行设计生成器。

7-运行rails db:migrate.此迁移将失败,引发以下错误:

(这是没有意义的,因为devise已安装到gem文件中)

代码语言:javascript
复制
jason@MBP ~/Work/_LEARNING/Turbo-Rails/DEVISE002 (master) $ rails db:migrate
rails aborted!
NoMethodError: undefined method `devise' for User (call 'User.connection' to establish a connection):Class
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/app/models/user.rb:4:in `<class:User>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/app/models/user.rb:1:in `<main>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/config/routes.rb:2:in `block in <main>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/config/routes.rb:1:in `<main>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/config/environment.rb:5:in `<main>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/bin/rails:5:in `<top (required)>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/bin/spring:10:in `block in <top (required)>'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/bin/spring:7:in `tap'
/Users/jason/Work/_LEARNING/Turbo-Rails/DEVISE002/bin/spring:7:in `<top (required)>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)

症状1:数据库不会迁移,rails db:migrate会因上述错误而崩溃。

症状2:在我的一个测试应用程序中,我犯了这个错误,虽然devise_for :users在routes.rb文件中,但设计路线似乎没有加载。

EN

回答 1

Stack Overflow用户

发布于 2021-03-13 21:14:03

错误

当您将devise添加到已有用户的应用程序而忘记运行rails generate devise:install时,就会显式地发生这种情况。

要修复:运行rails generate devise:install

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66618593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档