In Ruby on Rails, say a Story object can "has_many" Vote objects (a story is voted "hot" by many users).
So when we do a
s = Story.find(:first)
s
is a Story object, and say
s.votes
returns []
and
s.votes.class
returns Array
So clearly, s.votes is an empty Array object.
At this time, when
s.votes.create
is called, it actually invokes a method of the Vote class? How come an Array class object can invoke a Vote class method?