Sunday, September 22, 2013

[Rails] Strong parameters with has_many gives “no implicit conversion of Symbol into Integer”

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..

My Javascript file:

user = {      email: @get('email')      first_name: @get('firstName')      last_name: @get('lastName')      password: @get('password')      password_confirmation: @get('passwordConfirmation')      registration_completed: true        authentications_attributes: {          provider: @get('provider')          uid: @get('uid')      }  }    $.post("/api/users", { user })

Params:
 
name, :last_name, :email, :password, :password_confirmation, :registration_completed, authentications_attributes: [:id, :user_id, :provider, :uid])

Console:

Started POST "/api/users" for 127.0.0.1 at 2013-09-20 15:39:49 +0200  Processing by Api::UsersController#create as */*    Parameters: {"user"=>{"email"=>"foo@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    TypeError (no implicit conversion of Symbol into Integer):    app/controllers/api/users_controller.rb:17:in `create'

Create method:

def create            @user = User.new(user_params)      @user.authentications.build      authorize! :create, @user        if @user.save         render json: { user: { id: @user.id, auth_token: @user.session_api_key } }, status: 201      else        render json: { errors: @user.errors.messages }, status: :unprocessable_entity      end   
end 

What am I doing wrong? And of course have i "accepts_nested_attributes_for :authentications" in my User.rb file. Thanks!

--
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/5e59e147-4987-4e99-87b3-0ec5d05e2d83%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate