Variable not evaluating, returning nil object


#1

There is probably a simple answer to this, but I’m fairly new to rails.

Any idea why the variable “b” won’t evaluate on this line?

<%=image_tag(thumbnail(items[b].catalognum,
192),:alt=>items[b].view_description,:border=>0)%>

If I change it to:

<%=image_tag(thumbnail(items[0].catalognum,
192),:alt=>items[0].view_description,:border=>0)%>

It works fine, and if I append the value of b at the end it prints on
the screen as the correct value (0). But, it’s insisting that there is a
nil object.

“You have a nil object when you didn’t expect it!
The error occured while evaluating nil.catalognum”

Thank you,

Nestor Marchante


#2

That doesn’t tell you that b is nil; that tells you that items[b] is
nil. Are you absolutely sure that the value of b is an integer zero?
It could, for example, be the string “0”? What if you change items[b]
to items[b.to_i]?

Pete Y.
http://9cays.com