here is some of the code:
@items_all = Item.find(:all)
for item in @items_all do
if not FileTest.exist?(item.image_name)
@items_missing_images += item
end
end
You have a nil object when you didn’t expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.+
at @items_missing_images += item
so…how can i declare an empty array of Items?
i tried declaring @items_missing_images = []
but item is not of type array so this won’t work.
Scott,
You need to declare the empty array first.
@items_missing_images = []
But do not use the '@items_missing_images += item ’
Use @items_missing_images.push(item)
or @items_missing_images << item
The += only works if you are adding an array to an array.
http://ruby-doc.org/core/classes/Array.html#M002232
Cheers
–
Robert Z.
Zapient, LLC
Ruby on Rails Development and Consulting
http://www.zapient.com
On Nov 6, 8:01 pm, Scott K. [email protected]
I probably should mention the best way to do what you are trying to
accomplish would be:
@items_missing_images = @items_all.reject { |item| FileTest.exist?
(item.image_name) }
–
Robert Z.
Zapient, LLC
Ruby on Rails Development and Consulting
http://www.zapient.com
I’m new to this but could you do this:
above this put
@items_missing_images = Array.new
and then in your if statement do this
@items_missing_images << item
Chas
On Thu, Nov 6, 2008 at 11:01 PM, Scott K. <
thanks for both replies! that’s exactly what i was looking for.