部署到Heroku后,如何解决RubyonRails中的注册错误



我对RubyonRails很陌生,目前正在构建这个应用程序。然而,我意识到,在我将其部署到Heroku后,我无法注册新用户。我使用了design gem进行注册和登录,以及letter_opener gem。

当我尝试注册时,它会将我重定向到此处所附的页面。我还怀疑这是否是我安装的设计宝石,因为当我点击注册按钮时,整个问题就开始了,该按钮本应将我重定向到密码确认页面。

拜托,有人能帮忙了解到底发生了什么吗?

错误图像


2022-08-13T04:32:03.142879+00:00 app[web.1]: I, [2022-08-13T04:32:03.142765 #4]  INFO -- : [3ad2f557-6d51-4357-80f7-9a96c91fd22c]   Rendered vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 6.5ms | Allocations: 440)
2022-08-13T04:32:03.320350+00:00 app[web.1]: I, [2022-08-13T04:32:03.320193 #4]  INFO -- : [3ad2f557-6d51-4357-80f7-9a96c91fd22c] Completed 500 Internal Server Error in 524ms (ActiveRecord: 5.8ms | Allocations: 5985)
2022-08-13T04:32:03.331589+00:00 app[web.1]: F, [2022-08-13T04:32:03.331463 #4] FATAL -- : [3ad2f557-6d51-4357-80f7-9a96c91fd22c]   
2022-08-13T04:32:03.331590+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c] ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):
2022-08-13T04:32:03.331591+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c]     2: 
2022-08-13T04:32:03.331593+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c]     3: <p>You can confirm your account email through the link below:</p>
2022-08-13T04:32:03.331594+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c]     4: 
2022-08-13T04:32:03.331595+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c]     5: <p><%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %></p>
2022-08-13T04:32:03.331595+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c]   
2022-08-13T04:32:03.331596+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c] actionpack (7.0.3.1) lib/action_dispatch/http/url.rb:64:in `full_url_for'
2022-08-13T04:32:03.331597+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c] actionpack (7.0.3.1) lib/action_dispatch/http/url.rb:54:in `url_for'
2022-08-13T04:32:03.331598+00:00 app[web.1]: [3ad2f557-6d51-4357-80f7-9a96c91fd22c] actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:334:in `block in <class:RouteSet>'

非常感谢您的回复。我解决了这个问题,错误是由devise gem中的confirmable引起的。我把它注释掉了,并在我的production.rb文件中包含了下面的代码行:

config.action_mailer.default_url_options = { :host => "yourhost" }

之后,我的应用程序在部署到Heroku时能够毫无问题地提供服务。

相关内容

  • 没有找到相关文章

最新更新