accepts_nested_attributes_for - issue

Just trying a simple example to try to get nested to work... but can't get it! Been 2 days! Please help. VERY SIMPLE controller, view, models... listed below.

----------------------ERROR MESSAGE----------------------------------------------------------------------

ActiveRecord::AssociationTypeMismatch in UserController#update_player

Racquet(#38866740) expected, got Array(#20762670)

It's rather unusual to name the action 'index' when it shows form for creating a new object. Why not call it 'new' or something like that. And then the action is named 'update_player' when in fact it is creating a new Player object. Why don't you name it 'create'? I'm sorry for nitpicking but choosing the right names will make your life easier. (and will raise your chances for getting the answer)

Regarding your question. I usually look at params in such a situation. You can find request params in webserver log(just scroll console window where webrick is started) or you can insert a call to 'debugger' in the action and start webserver in debug mode (with '-- debugger').

I haven't tried running your code, but please change:

def update_player      @player = Player.new(params[:player])      @player.save      redirect_to :action => :index end

to

def update_player      @player = Player.find_by_id(params[:id])      @player.update_attributes(params[:player])      redirect_to :action => :index end

and give it a shot.

Yes, you are correct. Terrible naming. But was done to try quick example. I am creating new player so @cpr it won't find player because I am in fact creating one. I know... terrible code.

It seems to be looking for Active Record object and I am passing in array...

Help!

It really helps if you post as much information as possible. In this particular case your form html (I mean from page source in browser) and request params would be very helpful. I'm not an expert in nested forms but it's probably because you are receiving an array instead of a hash in a request.