Возврат определенного кода статуса http в Rails Как вернуть 503 Service Unavailable в Rails для всего приложения? Кроме того, как вы будете делать то же самое для определенных контроллеров? Ответ 1 Для всего приложения: # ApplicationController before_filter :return_unavailable_status private def return_unavailable_status render :nothing => true, :status => :service_unavailable end Если вы хотите создать страницу пользовательской ошибки, вы можете сделать следующее: render 'custom_unavailable_page', :status => :service_unavailable Если вы не хотите его использовать для определенных контроллеров: # SomeController skip_before_filter :return_unavailable_status Ответ 2 Вы можете использовать :status render :status => 503 Вы можете сделать это глобально, поместив его в ApplicationController before_filter :render_unavailable def render_unavailable render :nothing => true, :status => 503 end Update Рельсы 5 + head 503 # or head :service_unavailable Не ставьте render head: 503 только голову. В противном случае вы получите двойную ошибку рендеринга. Ответ 3 Для меня работает следующее: format.any { render :json => {:response => 'Unable to authenticate' },:status => 401 } :response для ответа HTML на случай, если он будет доступен из браузера. Головка 503 визуализации, похоже, не работает с вышеуказанным оператором.
Ответ 1 Для всего приложения: # ApplicationController before_filter :return_unavailable_status private def return_unavailable_status render :nothing => true, :status => :service_unavailable end Если вы хотите создать страницу пользовательской ошибки, вы можете сделать следующее: render 'custom_unavailable_page', :status => :service_unavailable Если вы не хотите его использовать для определенных контроллеров: # SomeController skip_before_filter :return_unavailable_status
Ответ 2 Вы можете использовать :status render :status => 503 Вы можете сделать это глобально, поместив его в ApplicationController before_filter :render_unavailable def render_unavailable render :nothing => true, :status => 503 end Update Рельсы 5 + head 503 # or head :service_unavailable Не ставьте render head: 503 только голову. В противном случае вы получите двойную ошибку рендеринга.
Ответ 3 Для меня работает следующее: format.any { render :json => {:response => 'Unable to authenticate' },:status => 401 } :response для ответа HTML на случай, если он будет доступен из браузера. Головка 503 визуализации, похоже, не работает с вышеуказанным оператором.