File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed
Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -398,7 +398,7 @@ def save
398398 if last_result_set . has_errors?
399399 last_result_set . errors . each do |error |
400400 if error . source_parameter
401- errors . add ( error . source_parameter , error . title || error . detail )
401+ errors . add ( self . class . key_formatter . unformat ( error . source_parameter ) , error . title || error . detail )
402402 else
403403 errors . add ( :base , error . title || error . detail )
404404 end
Original file line number Diff line number Diff line change @@ -32,4 +32,18 @@ def test_can_handle_validation_strings
3232 assert_equal [ "Email address is invalid" ] , user . errors . full_messages
3333 end
3434
35+ def test_can_handle_key_formatted_attribute_validation_strings
36+ with_altered_config ( User , :json_key_format => :dasherized_key ) do
37+ stub_request ( :post , "http://example.com/users" )
38+ . to_return ( headers : { content_type : "application/vnd.api+json" } , body : {
39+ errors : [ { source : { pointer : "/data/attributes/email-address" } , title : "Email address is invalid" } ]
40+ } . to_json )
41+
42+ user = User . create ( name : 'Bob' , email_address : 'invalid email' )
43+ assert !user . persisted?
44+ assert user . errors . present?
45+ assert_equal [ "Email address is invalid" ] , user . errors [ :email_address ]
46+ end
47+ end
48+
3549end
You can’t perform that action at this time.
0 commit comments