Search code examples
ruby-on-railsrubydeviserubygems

Attempting to register a user on my devise app causes undefined method `user_url' for #<Devise::RegistrationsController:0x0000000000d9d0>


I am getting this error when I try to sign up a user. After this error, I'm still able to sign in with the user it would've created, but it always shows me this upon registration. Please let me know if there's other information you need. Been stumped on this for a few days.

enter image description here

Here is the exception causes: enter image description here

Here is the callback for the error:

actionpack (7.0.0) lib/action_dispatch/routing/polymorphic_routes.rb:231:in `public_send' 
actionpack (7.0.0) lib/action_dispatch/routing/polymorphic_routes.rb:231:in `polymorphic_method' 
actionpack (7.0.0) lib/action_dispatch/routing/polymorphic_routes.rb:116:in `polymorphic_url' 
actionpack (7.0.0) lib/action_dispatch/routing/url_for.rb:187:in `full_url_for' 
actionpack (7.0.0) lib/action_dispatch/routing/url_for.rb:170:in `url_for' 
actionpack (7.0.0) lib/action_controller/metal/redirecting.rb:144:in `_compute_redirect_to_location' 
actionpack (7.0.0) lib/action_controller/metal/redirecting.rb:89:in `redirect_to' 
actionpack (7.0.0) lib/action_controller/metal/flash.rb:62:in `redirect_to' 
actionpack (7.0.0) lib/action_controller/metal/instrumentation.rb:42:in `block in redirect_to' 
activesupport (7.0.0) lib/active_support/notifications.rb:206:in `block in instrument' 
activesupport (7.0.0) lib/active_support/notifications/instrumenter.rb:24:in `instrument' 
activesupport (7.0.0) lib/active_support/notifications.rb:206:in `instrument' 
actionpack (7.0.0) lib/action_controller/metal/instrumentation.rb:41:in `redirect_to' 
responders (3.0.1) lib/action_controller/responder.rb:147:in `redirect_to' 
responders (3.0.1) lib/action_controller/responder.rb:207:in `navigation_behavior' 
responders (3.0.1) lib/action_controller/responder.rb:174:in `rescue in to_html' 
responders (3.0.1) lib/action_controller/responder.rb:171:in `to_html' 
responders (3.0.1) lib/action_controller/responder.rb:165:in `respond' 
responders (3.0.1) lib/action_controller/responder.rb:158:in `call' 
responders (3.0.1) lib/action_controller/respond_with.rb:213:in `respond_with' 
devise (4.8.1) app/controllers/devise/registrations_controller.rb:25:in `create' 
actionpack (7.0.0) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' 
actionpack (7.0.0) lib/abstract_controller/base.rb:214:in `process_action' 
actionpack (7.0.0) lib/action_controller/metal/rendering.rb:53:in `process_action' 
actionpack (7.0.0) lib/abstract_controller/callbacks.rb:234:in `block in process_action' 
activesupport (7.0.0) lib/active_support/callbacks.rb:118:in `block in run_callbacks' 
actiontext (7.0.0) lib/action_text/rendering.rb:20:in `with_renderer' 
actiontext (7.0.0) lib/action_text/engine.rb:69:in `block (4 levels) in <class:Engine>' 
activesupport (7.0.0) lib/active_support/callbacks.rb:127:in `instance_exec' 
activesupport (7.0.0) lib/active_support/callbacks.rb:127:in `block in run_callbacks' 
activesupport (7.0.0) lib/active_support/callbacks.rb:138:in `run_callbacks' 
actionpack (7.0.0) lib/abstract_controller/callbacks.rb:233:in `process_action' 
actionpack (7.0.0) lib/action_controller/metal/rescue.rb:22:in `process_action' 
actionpack (7.0.0) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action' 
activesupport (7.0.0) lib/active_support/notifications.rb:206:in `block in instrument' 
activesupport (7.0.0) lib/active_support/notifications/instrumenter.rb:24:in `instrument' 
activesupport (7.0.0) lib/active_support/notifications.rb:206:in `instrument' 
actionpack (7.0.0) lib/action_controller/metal/instrumentation.rb:66:in `process_action' 
actionpack (7.0.0) lib/action_controller/metal/params_wrapper.rb:259:in `process_action' 
activerecord (7.0.0) lib/active_record/railties/controller_runtime.rb:27:in `process_action' 
actionpack (7.0.0) lib/abstract_controller/base.rb:151:in `process' 
actionview (7.0.0) lib/action_view/rendering.rb:39:in `process' 
actionpack (7.0.0) lib/action_controller/metal.rb:188:in `dispatch' 
actionpack (7.0.0) lib/action_controller/metal.rb:251:in `dispatch' 
actionpack (7.0.0) lib/action_dispatch/routing/route_set.rb:49:in `dispatch' 
actionpack (7.0.0) lib/action_dispatch/routing/route_set.rb:32:in `serve' 
actionpack (7.0.0) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>' 
actionpack (7.0.0) lib/action_dispatch/routing/mapper.rb:48:in `serve' 
actionpack (7.0.0) lib/action_dispatch/journey/router.rb:50:in `block in serve' 
actionpack (7.0.0) lib/action_dispatch/journey/router.rb:32:in `each' 
actionpack (7.0.0) lib/action_dispatch/journey/router.rb:32:in `serve' 
actionpack (7.0.0) lib/action_dispatch/routing/route_set.rb:850:in `call' 
warden (1.2.9) lib/warden/manager.rb:36:in `block in call' 
warden (1.2.9) lib/warden/manager.rb:34:in `catch' 
warden (1.2.9) lib/warden/manager.rb:34:in `call' 
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call' 
rack (2.2.3) lib/rack/etag.rb:27:in `call' 
rack (2.2.3) lib/rack/conditional_get.rb:40:in `call' 
rack (2.2.3) lib/rack/head.rb:12:in `call' 
actionpack (7.0.0) lib/action_dispatch/http/permissions_policy.rb:22:in `call' 
actionpack (7.0.0) lib/action_dispatch/http/content_security_policy.rb:18:in `call' 
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context' 
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/cookies.rb:693:in `call' 
activerecord (7.0.0) lib/active_record/migration.rb:603:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call' 
activesupport (7.0.0) lib/active_support/callbacks.rb:99:in `run_callbacks' 
actionpack (7.0.0) lib/action_dispatch/middleware/callbacks.rb:26:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/executor.rb:14:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call' 
web-console (4.2.0) lib/web_console/middleware.rb:132:in `call_app' 
web-console (4.2.0) lib/web_console/middleware.rb:28:in `block in call' 
web-console (4.2.0) lib/web_console/middleware.rb:17:in `catch' 
web-console (4.2.0) lib/web_console/middleware.rb:17:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call' 
railties (7.0.0) lib/rails/rack/logger.rb:36:in `call_app' 
railties (7.0.0) lib/rails/rack/logger.rb:25:in `block in call' 
activesupport (7.0.0) lib/active_support/tagged_logging.rb:99:in `block in tagged' 
activesupport (7.0.0) lib/active_support/tagged_logging.rb:37:in `tagged' 
activesupport (7.0.0) lib/active_support/tagged_logging.rb:99:in `tagged' 
railties (7.0.0) lib/rails/rack/logger.rb:25:in `call' 
sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/remote_ip.rb:93:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/request_id.rb:26:in `call' 
rack (2.2.3) lib/rack/method_override.rb:24:in `call' 
rack (2.2.3) lib/rack/runtime.rb:22:in `call' 
activesupport (7.0.0) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/server_timing.rb:20:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/executor.rb:14:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/static.rb:23:in `call' 
rack (2.2.3) lib/rack/sendfile.rb:110:in `call' 
actionpack (7.0.0) lib/action_dispatch/middleware/host_authorization.rb:137:in `call' 
railties (7.0.0) lib/rails/engine.rb:530:in `call' 
puma (5.5.2) lib/puma/configuration.rb:249:in `call' 
puma (5.5.2) lib/puma/request.rb:77:in `block in handle_request' 
puma (5.5.2) lib/puma/thread_pool.rb:340:in `with_force_shutdown' 
puma (5.5.2) lib/puma/request.rb:76:in `handle_request' 
puma (5.5.2) lib/puma/server.rb:447:in `process_client' 
puma (5.5.2) lib/puma/thread_pool.rb:147:in `block in spawn_thread' 

My routes.rb:

Rails.application.routes.draw do
  devise_for :users
  resources :teachers
  resources :offices
  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

  # Defines the root path route ("/")
  root to: "offices#index"
  # root "articles#index"
end

Solution

  • This seems to a be a known issue with Rails 7 and Devise now. To fix it in the meantime simply add the following line to your devise.rb.

    config.navigational_formats = ['*/*', :html, :turbo_stream]

    Source: https://github.com/heartcombo/devise/issues/5439