mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Implement ActionController::Parameters#inspect
Now that AC::Parameters is no longer a Hash, it shouldn't look like a hash.
This commit is contained in:
parent
39b1dd1c3d
commit
a623442623
3 changed files with 15 additions and 2 deletions
|
@ -109,7 +109,7 @@ module ActionController
|
|||
cattr_accessor :permit_all_parameters, instance_accessor: false
|
||||
cattr_accessor :action_on_unpermitted_parameters, instance_accessor: false
|
||||
|
||||
delegate :keys, :key?, :has_key?, :values, :has_value?, :value?, :empty?, :include?, :inspect,
|
||||
delegate :keys, :key?, :has_key?, :values, :has_value?, :value?, :empty?, :include?,
|
||||
:as_json, to: :@parameters
|
||||
|
||||
# By default, never raise an UnpermittedParameters exception if these
|
||||
|
@ -574,6 +574,10 @@ module ActionController
|
|||
dup
|
||||
end
|
||||
|
||||
def inspect
|
||||
"<#{self.class} #{@parameters}>"
|
||||
end
|
||||
|
||||
def method_missing(method_sym, *args, &block)
|
||||
if @parameters.respond_to?(method_sym)
|
||||
message = <<-DEPRECATE.squish
|
||||
|
|
|
@ -134,4 +134,13 @@ class ParametersAccessorsTest < ActiveSupport::TestCase
|
|||
params1 = ActionController::Parameters.new(hash1)
|
||||
assert(params1 == hash1)
|
||||
end
|
||||
|
||||
test "inspect shows both class name and parameters" do
|
||||
assert_equal(
|
||||
'<ActionController::Parameters {"person"=>{"age"=>"32", '\
|
||||
'"name"=>{"first"=>"David", "last"=>"Heinemeier Hansson"}, ' \
|
||||
'"addresses"=>[{"city"=>"Chicago", "state"=>"Illinois"}]}}>',
|
||||
@params.inspect
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -988,7 +988,7 @@ module ApplicationTests
|
|||
app 'development'
|
||||
|
||||
post "/posts.json", '{ "title": "foo", "name": "bar" }', "CONTENT_TYPE" => "application/json"
|
||||
assert_equal '{"title"=>"foo"}', last_response.body
|
||||
assert_equal '<ActionController::Parameters {"title"=>"foo"}>', last_response.body
|
||||
end
|
||||
|
||||
test "config.action_controller.permit_all_parameters = true" do
|
||||
|
|
Loading…
Reference in a new issue