提交 c5663c42 编写于 作者: A Aaron Patterson 提交者: GitHub

Merge pull request #28897 from rafaelfranca/fix-name-error-error-page

Do not try to encoding the parameters when the controller is not defined
......@@ -85,7 +85,7 @@ def path_parameters
def set_binary_encoding(params)
action = params[:action]
if controller_class.binary_params_for?(action)
if binary_params_for?(action)
ActionDispatch::Request::Utils.each_param_value(params) do |param|
param.force_encoding ::Encoding::ASCII_8BIT
end
......@@ -93,6 +93,12 @@ def set_binary_encoding(params)
params
end
def binary_params_for?(action)
controller_class.binary_params_for?(action)
rescue NameError
false
end
def parse_formatted_parameters(parsers)
return yield if content_length.zero? || content_mime_type.nil?
......
......@@ -100,6 +100,20 @@ def index
end
end
test "routing to an nonexistent controller when action_dispatch.show_exceptions and consider_all_requests_local are set shows diagnostics" do
app_file "config/routes.rb", <<-RUBY
Rails.application.routes.draw do
resources :articles
end
RUBY
app.config.action_dispatch.show_exceptions = true
app.config.consider_all_requests_local = true
get "/articles"
assert_match "<title>Action Controller: Exception caught</title>", last_response.body
end
test "displays diagnostics message when exception raised in template that contains UTF-8" do
controller :foo, <<-RUBY
class FooController < ActionController::Base
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册