Supose I have a simple has_many relationship betwen model_1 and

model_2:

class Model1 < ActiveRecord::Base

has_many :models_2

end

class Model2 < ActiveRecord::Base

belongs_to :model_1

end

Now, I create an instance of Model2 through the relationship:

m1 = Model1.first

m2 = m1.models_2.new

Now, if I want to ask for the size of the relationship, there's a huge

difference between Rails 3.0.x and Rails 3.1.

Following the previous example, in Rails 3.0.x i get:

m1.models_2.any?

false

m1.models_2.size

0

This means, new objects are not being considered

This exact same query in Rails 3.1:

m1.models_2.any?

true #OMG!!

m1.models_2.size

1

So, the solution is:

m1.models_2.all.any?

false

m1.models_2.all.size

0

If I have to change ALL my relationships with .all, I'm in a big

trouble... am I missing something?

Thank you very much.