微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

localhost:3000 在 Rails 6

如何解决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

解决方法

也许您在整个设计安装过程中都走错了路。尝试找出它无法工作的点。卸载设备。

  1. 在您的 Gemfile 中删除: gem 'devise'
  2. 在终端中运行:bundle
  3. 在终端中运行: gem uninstall devise(以确保 devise 不在您的应用中)
  4. 现在可以使用了吗?如果没有,那么设计不是问题。如果是,请继续下一步。
  5. 在您的 Gemfile 中添加: gem 'devise'
  6. 在终端中运行:bundle
  7. 此时,控制台中会出现一些说明。在这些说明中,您需要为每个环境中的设计邮件程序设置默认 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 举报,一经查实,本站将立刻删除。