Search code examples
ruby-on-railsrouteshttp-status-code-404production

How do I fix routing errors from rails in production mode?


If I try and access some random string in the URL of my rails app, such as /asdfasdifjasdfkj then I am seeing a rails error message

Routing Error

No route matches "/asdfasdifjasdfkj" with {:method=>:get}

Even though I am in production mode. Clearly I don't want any real users to see this, and would prefer a 404 page. Anyone know whats going wrong and how I fix it?


Solution

  • To get 404 you need to run server in production environment and use external ip address rather than local/loopback ip address in the url.

    You can also force controller to consider all your requests as local:

      def local_request?
        return false
      end