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:

irb>m1 = Model1.first
irb>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:

irb>m1.models_2.any?
irb>false
irb>m1.models_2.size
irb>0

This means, new objects are not being considered

This exact same query in Rails 3.1:

irb>m1.models_2.any?
irb>true #OMG!!
irb>m1.models_2.size
irb>1
So, the solution is:

irb>m1.models_2.all.any?
irb>false
irb>m1.models_2.all.size
irb>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.

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

Reply via email to