Getting Rails route error instead of 404

Starting Discourse in development mode and opening http://localhost:3000/x doesn’t produce a 404 page like does. Instead, I get the Rails routing error page:

No route matches [GET] "/x"
Full stack trace
actionpack (5.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (1.2.11) lib/logster/middleware/reporter.rb:31:in `call'
railties (5.2.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (5.2.0) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:16:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.0.5) lib/rack/method_override.rb:22:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.0) lib/action_dispatch/middleware/static.rb:127:in `call'
rack (2.0.5) lib/rack/sendfile.rb:111:in `call'
lib/middleware/missing_avatars.rb:21:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
rack-mini-profiler (1.0.0) lib/mini_profiler/profiler.rb:285:in `call'
message_bus (2.1.6) lib/message_bus/rack/middleware.rb:63:in `call'
railties (5.2.0) lib/rails/engine.rb:524:in `call'
railties (5.2.0) lib/rails/railtie.rb:190:in `public_send'
railties (5.2.0) lib/rails/railtie.rb:190:in `method_missing'
rack (2.0.5) lib/rack/urlmap.rb:68:in `block in call'
rack (2.0.5) lib/rack/urlmap.rb:53:in `each'
rack (2.0.5) lib/rack/urlmap.rb:53:in `call'
puma (3.11.4) lib/puma/configuration.rb:225:in `call'
puma (3.11.4) lib/puma/server.rb:632:in `handle_request'
puma (3.11.4) lib/puma/server.rb:446:in `process_client'
puma (3.11.4) lib/puma/server.rb:306:in `block in run'
puma (3.11.4) lib/puma/thread_pool.rb:120:in `block in spawn_thread'

I disabled the plugin I’m developing, but that doesn’t affect this problem.

Note that a link with href="/x" does produce the expected 404 error page, only a regular request doesn’t.

I’m not sure how to categorize this as I’m certain this must be an issue on my end, not a bug with Discourse.

1 Like

I think that’s just how development mode works.


Yeah, that’s a Rails feature when used in development mode.