My app (Rails 5.2, Ruby 2.7.6) has a simple controller BlogEntries with the method
def intro
@title = 'Blog'
blog_entries = BlogEntry.active.for_public.order('publish_date DESC')
@latest = blog_entries.take(3)
@blog_entries = blog_entries.paginate(:page => params[:page], :per_page => 7)
render 'blog/intro'
end
The route is
root :to => 'blog_entries#intro'
The view blog/intro exists. Everything works just fine. Except when, in production only, some people try to hack us and call the URL
https://<our_ip>/?name=example&type=A
Then, and in production only, the error "Missing template blog_entries/intro, admin/intro, application/intro ..." is raised.
I really wonder what is going on here. It seems that the route works since I end up at BlogEntriesController. However, the stack trace doesn't contain any clue (that I can see) to what goes wrong.
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/path_set.rb:48
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/lookup_context.rb:116
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/renderer/abstract_renderer.rb:20
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/renderer/template_renderer.rb:40
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/renderer/template_renderer.rb:10
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/renderer/renderer.rb:44
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/renderer/renderer.rb:25
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/rendering.rb:103
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/streaming.rb:219
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/rendering.rb:84
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/rendering.rb:52
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/renderers.rb:142
/GEM_ROOT/gems/actionpack-5.2.0/lib/abstract_controller/rendering.rb:25
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/rendering.rb:36
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:46
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/core_ext/benchmark.rb:14
/home/deploy/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/benchmark.rb:308
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/core_ext/benchmark.rb:14
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:46
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:87
/GEM_ROOT/gems/activerecord-5.2.0/lib/active_record/railties/controller_runtime.rb:31
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:45
/PROJECT_ROOT/app/controllers/application_controller.rb:45
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/mime_responds.rb:203
/PROJECT_ROOT/app/controllers/application_controller.rb:40
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/rescuable.rb:108
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/rescuable.rb:108
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/rescuable.rb:92
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/rescuable.rb:165
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/rescue.rb:25
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/rescue.rb:21
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:34
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/notifications.rb:168
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/notifications/instrumenter.rb:23
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/notifications.rb:168
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:32
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal/params_wrapper.rb:256
/GEM_ROOT/gems/activerecord-5.2.0/lib/active_record/railties/controller_runtime.rb:24
/GEM_ROOT/gems/actionpack-5.2.0/lib/abstract_controller/base.rb:134
/GEM_ROOT/gems/actionview-5.2.0/lib/action_view/rendering.rb:32
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal.rb:191
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_controller/metal.rb:252
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:52
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:34
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:52
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:35
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:35
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:840
/GEM_ROOT/gems/rack-2.0.5/lib/rack/tempfile_reaper.rb:15
/GEM_ROOT/gems/rack-2.0.5/lib/rack/etag.rb:25
/GEM_ROOT/gems/rack-2.0.5/lib/rack/conditional_get.rb:25
/GEM_ROOT/gems/rack-2.0.5/lib/rack/head.rb:12
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/http/content_security_policy.rb:18
/GEM_ROOT/gems/rack-2.0.5/lib/rack/session/abstract/id.rb:232
/GEM_ROOT/gems/rack-2.0.5/lib/rack/session/abstract/id.rb:226
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/cookies.rb:670
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/callbacks.rb:28
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/callbacks.rb:98
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/callbacks.rb:26
/GEM_ROOT/gems/airbrake-7.3.4/lib/airbrake/rack/middleware.rb:48
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/debug_exceptions.rb:61
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/show_exceptions.rb:33
/GEM_ROOT/gems/railties-5.2.0/lib/rails/rack/logger.rb:38
/GEM_ROOT/gems/railties-5.2.0/lib/rails/rack/logger.rb:26
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/tagged_logging.rb:71
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/tagged_logging.rb:28
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/tagged_logging.rb:71
/GEM_ROOT/gems/railties-5.2.0/lib/rails/rack/logger.rb:26
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/remote_ip.rb:81
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/request_id.rb:27
/GEM_ROOT/gems/rack-2.0.5/lib/rack/method_override.rb:22
/GEM_ROOT/gems/rack-2.0.5/lib/rack/runtime.rb:22
/GEM_ROOT/gems/activesupport-5.2.0/lib/active_support/cache/strategy/local_cache_middleware.rb:29
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/executor.rb:14
/GEM_ROOT/gems/rack-2.0.5/lib/rack/sendfile.rb:111
/GEM_ROOT/gems/actionpack-5.2.0/lib/action_dispatch/middleware/ssl.rb:74
/GEM_ROOT/gems/railties-5.2.0/lib/rails/engine.rb:524
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:107
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:149
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:110
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:419
/usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:113
If I call the same URL on my dev environment, it shows the blog/entries.html.erb view correctly.
Can anybody explain what is wrong?