2012-04-11 2 views
1

Я использую следующий фрагмент кода на моем ApplicationController:Как Rails автоматически восстанавливает ActiveRecord :: RecordNotFound в режиме разработки?

rescue_from ActiveRecord::RecordNotFound, :with => :not_found 

def not_found 
    render :nothing => true, :status => :not_found 
end 

, чтобы сделать Rails реагировать с правильным кодом состояния и не вызывает исключение в развитии режиме.

Я знаю, что how-to-handle-errors-like-404-500-in-rails3 объясняет, как Rails работает в режиме производства. Другими словами, то, что я пытаюсь сделать в режиме разработки, выполняется без какой-либо части кода в режиме производства.

Как я могу заставить режим разработки вести себя как режим производства и избавиться от вышеуказанного фрагмента кода?

Обратите внимание, что я использую Rails 3.2.3

ответ

3

Может быть, вы хотите, чтобы отключить это ?:

config.consider_all_requests_local  = false 

Это установлено в true в config/environments/development.rb по умолчанию.

+0

Спасибо. Я верю, что ваш ответ правильный, и я соглашусь с ним. Не могли бы вы добавить, что в вашем ответе нужно удалить файл «public/404.html»? Это делает ответ еще точнее вопроса, так как в моем текущем коде я ничего не делаю => true. –

+0

Позвольте мне исследовать тему еще немного. –

+0

какие-либо новости по этому вопросу? Вы изучали предмет? –

Смежные вопросы