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.