Rails делает это автоматически, когда приложение работает в производственной mode.When приложения загрузки на сервер жить, Rails заботится о работе с теми, исключения и отображение правильных страниц ошибок с правильным статусом заголовка. Вы можете напрямую находить файлы в общей папке.
Всякий раз, когда вы настраиваете приложение Rails на реальном сервере, вы предоставляете корень сайта как/общедоступную папку в своем приложении. Затем, всякий раз, когда делается запрос на этот адрес сервера, веб-сервер сначала просматривает эту общую папку и пытается обслуживать статический актив (это настраиваемый параметр в config/environment.rb). Если он не может найти запрошенную страницу, запрос пересылается через стек Ruby.
В режиме производства, если Rails обнаруживает ошибку, которая не обрабатывается, она выдает сообщение об ошибке в стек, а затем сообщает веб-серверу о возникновении соответствующей ошибки.
Вот некоторые распространенные ошибки, которые вы будете видеть в режиме разработки, и что они делают в рабочем режиме:
ActiveRecord::RecordNotFound => 404 (page not found)
nil.method => 500 (server error) unless you turn off whiny nils
ActionController::RoutingError => 404 (page not found)