Выполнение нечетной проблемы, когда Rack::ShowExceptions
предоставляет подробные исключения для моего приложения rails 4.0.4 в рабочей среде. Добавление config.middleware.delete(Rack::ShowExceptions)
в config/application.rb
по-прежнему приводило к отображению Rack::ShowExceptions
template, и, как я полагаю, существует скрытая зависимость промежуточного программного обеспечения.Rack :: ShowExceptions enabled in production Rails 4.0.4
Например, попав в приложение с немаскированном %
в POST
запроса приводят к Rack::ShowExceptions
шаблона визуализируемого:
Образец недействителен POST
запрос:
POST /en/users/sign_in HTTP/1.1
Host: www.localhost.dev
Proxy-Connection: keep-alive
Content-Length: 1
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://www.localhost.dev
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
%
Rack промежуточного слоя:
$ RAILS_ENV=production rake middleware
use Raven::Rack
use HttpMethodNotAllowed
use ActionDispatch::SSL
use Rack::Sendfile
use ActionDispatch::Static
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007feba5b8b940>
use Rack::Runtime
use Rack::MethodOverride
use ActionDispatch::RequestId
use RequestStore::Middleware
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use ActionDispatch::DebugExceptions
use ActionDispatch::RemoteIp
use ActionDispatch::Callbacks
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::Cookies
use ActionDispatch::Session::CookieStore
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
use Rack::Head
use Rack::ConditionalGet
use Rack::ETag
use Warden::Manager
run MyApplication::Application.routes
У нас есть config.exceptions_add = self.routes
в config/application.rb
if это актуально.
Я дал ActionPack CHANGELOG довольно близкое чтение, но вполне возможно, что этот вопрос был исправлен в более позднем выпуске! Если это так, я бы очень признателен за ссылку на него.