I'm using rails 2.0.5 and mongrel. I have a Page and a Source models. class Source < ActiveRecord::Base has_many :pages end class Page < ActiveRecord::Base belongs_to :source end Basically I'm listing pages with their sources; In production and development ( I use mongrel_cluster in the first and a single mongrel on the second) I got this error: ActiveRecord::AssociationTypeMismatch (Source expected, got Fixnum): /vendor/rails/activerecord/lib/active_record/associations/ association_proxy.rb:150:in `raise_on_type_mismatch' /vendor/rails/activerecord/lib/active_record/associations/ belongs_to_association.rb:22:in `replace' [...] The fact that scares me *a lot* is that I get it on random basis and reloading the page solves it. It looks like that sometimes the record isn't retrieved correctly from the db but instead it got a fixnum. The fact that is a random behaviour doesn't give me any clue on how to solve it. Any idea?
on 2009-02-02 11:50
on 2009-02-02 12:12
what exaclty means randomly? does it happen in different places? is your own code mentioned in the trace? wich call would fail? it seems your code is expection an instance of Source but is getting a number (maybe the id) instead. in order to find the piece of code that is causing the error, you gotta try reproducing it.
on 2009-02-02 12:51
Randomly means that usually the page load without errors, but somethimes the same page throws the error above. Refreshing the page fixes the problem.
on 2009-02-02 13:30
On 2 Feb 2009, at 10:49, An wrote: > I would at least start by following that stack trace a little further. Fred
on 2012-08-22 11:46
MaD wrote in post #776440: > what exaclty means randomly? does it happen in different places? is > your own code mentioned in the trace? wich call would fail? > > it seems your code is expection an instance of Source but is getting a > number (maybe the id) instead. > > in order to find the piece of code that is causing the error, you > gotta try reproducing it. >>>>>>>>>>>>>ans if you will remove (belongs_to :model name) then it will work