AssociationTypeMismatch got Fixnum

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?

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.

Randomly means that usually the page load without errors, but somethimes the same page throws the error above. Refreshing the page fixes the problem.

I would at least start by following that stack trace a little further.

Fred

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