Ruby on Rails Monday, September 23, 2013



On Sunday, September 22, 2013 6:24:47 PM UTC+1, Timmie Sarjanen wrote:

Trying to create a user from a json request but my server gives me "typeError (no implicit conversion of Symbol into Integer)". I understand that it's something wrong with my nested attribute but i dont know what, this's driving me crazy..

in general that errors means that something is trying to use an array as a hash, ie passing a non integer key to []
Processing by Api::UsersController#create as */*    Parameters: {"user"=>{"email"=>"f...@example.com", "first_name"=>"Foo", "last_name"=>"Bar", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "registration_completed"=>"true", "authentications_attributes"=>{"provider"=>"facebook", "uid"=>"10000000"}}}  Completed 500 Internal Server Error in 97ms  
Those parameters aren't right - authentications_attributes should be of the form

[ {'provider' => 'facebook', ...} ]

or (since you can't really do arrays of hashes when using regular forms

{
  '123456' => {'provider' => 'facebook', ...},
  '456789' => {'provider' => 'google', ...}
}

The keys in that hash are arbitrary. It's common to use the current time in milliseconds - anything that is unique is good enough

Fred 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/0871716f-7e4c-43c8-8e30-67625844cd72%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment