Friday, November 25, 2011

Re: [Rails] ActiveRecord::AssociationTypeMismatch

I got also faced this error . when I was using same column name in two different tables and trying to access them.I renamed the column in one of the tables and it started working.
 
--RorUser

On Thu, Nov 24, 2011 at 3:40 PM, Gianluca Padovani <gpadovani@gmail.com> wrote:
Hi to all,
I have this error and I don't understand why. I have three model,
Image and Playlist and PlaylistItem. Everything works fine. The app
should work also a XML REST service. When I made this call I obtain
this XML because the playlist don't contains images:

GET http://0.0.0.0:3000/playlists/7.xml
<playlist>
 <id>7</id>
 <name>metallo</name>
 <images></images>
</playlist>

I would put some images in playlist (the images are already presents
on server) I should made this call:

PUT http://0.0.0.0:3000/playlists/7.xml

<playlist>
   <id>7</id>
   <name>metal</name>
   <images>
       <image>
           <id>1</id>
           <name>gino</name>
       </image>
       <image>
           <id>2</id>
           <name>pino</name>
       </image>
   </images>
</playlist>

but I obtain this error:

ActiveRecord::AssociationTypeMismatch in PlaylistsController#update
Image(#87559180) expected, got Array(#78093260)

parameters:
{"playlist"=>{"id"=>"7",
 "name"=>"metal",
 "images"=>{"image"=>[{"id"=>"1",
 "name"=>"gino"},
 {"id"=>"2",
 "name"=>"pino"}]}},
 "id"=>"7",
 "format"=>"xml"}

This are the three models:

class Image < ActiveRecord::Base
 attr_accessor :picture
 validates :name, :uniqueness => true, :presence => true
 validates :picture, :presence => true

 has_many :playlist_items
 has_many :playlists, :through => :playlist_items
end

class Playlist < ActiveRecord::Base
 validates :name, :presence => true, :uniqueness => true

 has_many :playlist_items
 has_many :images, :through => :playlist_items
 accepts_nested_attributes_for :images, :allow_destroy => true
end

class PlaylistItem < ActiveRecord::Base
 belongs_to :image
 belongs_to :playlist
end

The project can be found here: https://github.com/gpad/rms

can anybody help?

thanks
Gianluca

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate