如何解决localhost:3000 在 Rails 6
在安装 devise gem 之前,我的 rails 应用程序运行良好。安装 devise gem 后,rails 服务器在终端中正确连接,但在浏览器中拒绝连接。已经尝试切换到另一个端口,但无济于事。如何在开发过程中再次在 localhost:3000 中正确连接它?我的数据库使用的是 postgresql。
rails s
=> Booting Puma
=> Rails 6.1.3.2 application starting in development
=> Run `bin/rails server --help` for more startup options Puma starting in single mode...
* Puma version: 5.3.1 (ruby 3.0.1-p64) ("Sweetnighter")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 3519
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000 Use Ctrl-C to stop
解决方法
也许您在整个设计安装过程中都走错了路。尝试找出它无法工作的点。卸载设备。
- 在您的 Gemfile 中删除: gem 'devise'
- 在终端中运行:bundle
- 在终端中运行: gem uninstall devise(以确保 devise 不在您的应用中)
- 现在可以使用了吗?如果没有,那么设计不是问题。如果是,请继续下一步。
- 在您的 Gemfile 中添加: gem 'devise'
- 在终端中运行:bundle
- 此时,控制台中会出现一些说明。在这些说明中,您需要为每个环境中的设计邮件程序设置默认 URL 选项。这是 config/environments/development.rb 的可能配置:
config.action_mailer.default_url_options = { 主机:'本地主机',端口:3000 }
在以下命令中,您将使用应用程序用户使用的类名替换 MODEL(通常是 User,但也可以是 Admin)。这将创建一个模型(如果一个模型不存在)并使用默认的设计模块对其进行配置。生成器还将您的 config/routes.rb 文件配置为指向设计控制器。
在终端运行:rails generate devise MODEL
接下来,检查模型以获取您可能想要添加的任何其他配置选项,例如可确认或可锁定。如果添加选项,请务必检查迁移文件(如果您的 ORM 支持,则由生成器创建)并取消注释相应部分。例如,如果您在模型中添加了可确认选项,则需要在迁移中取消对可确认部分的注释。
在终端运行:rails db:migrate
您应该在更改 Devise 的配置选项后重新启动您的应用程序(这包括停止 spring)。否则,你会遇到奇怪的错误,例如用户无法登录和路由助手未定义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。