我对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时能够毫无问题地提供服务。