…I’m having troubles understanding this relationship (unless it’s a
bug?) and it’s making it very frustrating if I want to use the same
view to show a single or many records. I can get around it by using
the :conditions as stated above but should I have to? Using…
result.count
NoMethodError: undefined method `count’…blah blah
…seems to have the same issues.
Can anyone shed some light on this? Sorry if it’s already been
covered somewhere else I didn’t know how to exactly phrase my question
without having to read through a hundred posts.
Model.find(:all) will return an array of results, even if there is only
one matching record.
So, in your example:
result = Stuff.find(:all, :conditions => ‘id =1’)
Here, result is actually an array of 1 item.
The ‘size’ method is a method of the Array class in ruby, and will only
work when the Model.find call returns an array.
So, as in your example again:
result = Stuff.find(1)
Here, result is simply an instance of the ‘Stuff’ class (i.e. the record
with id=1). Therefore the ‘size’ method will not work because it is not
a method of the ‘Stuff’ class.