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:
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
+0200Processing by Api::UsersController#create as /
Parameters: {“user”=>{“email”=>“[email protected]”, “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!