images don't show up from show.html.erb

In my app, i'm storing the name of images in the database, and keeping
the images in the /images folder. The index.html.erb for my view uses
an image tag:

     <td><div class="icon"/><img src=<%=h reagent.icon %>/></div></td>

which shows up correctly. attempting to show the same icon in the
show.html.erb doesn't show the image. adding a border to it shows a
line about the size of a 'pipe command' and then the name.

<p>
  <b>Icon:</b>
  <img src=<%= @reagent.icon %> border=1/>
  <%=h @reagent.icon %>
</p>

i've been trying different formats for the last 3 hours with no success.
is there a difference in the references for the two files? or is the
icon just being squashed somehow? I'm using firefox2 on ubuntu 7.10 if
that helps.

You can use image_tag(h.reagent.icon) and that’ll work instead of <img src=<%= h.reagent.icon %> />

Ryan Bigg wrote:

You can use image_tag(h.reagent.icon) and that'll work instead of <img
src=<%= h.reagent.icon %> />

I've only just started using Rails this week, so I'm pretty well lost,
as the tutorials i've followed just say "click this then this and it's
done" instead of delving into why things are done. I've tried several
variations of inserting your suggestion into the file, but with no
success. The API listing on railsbrain.com only shows it used for
absolute references, not variable references, so i'm stumped.

did you mean

<p>
  <b>Icon</p>
  <%= image_tag(h.reagent.icon) %>
</p>

or

<p>
  <b>Icon</p>
  image_tag(h.reagent.icon)
</p>

The first one causes an error (wrong number of arguments (0 for 1)) and
the second one only writes the text of that line to the page. All of
the other references to reagent on the show.html.erb code use <%=h
@reagent.<item> =%> and successfully call their data.

Use the first one but remove the dot after the h

h.reagent.icon -> h reagent.icon

Ok, i had a burst of inspiration whilst on the 'throne' =P

I looked at the page source from the rendered version and saw that the
img tag didn't include the /images/ prefix that i used in the
index.html.erb file.

The working code is:

<p>
  <b>Icon:</b>
  <img src="/images/<%=h @reagent.icon %>" border=1 />
  <%=h @reagent.icon %>
</p>