image_tag不适用于外部URL,返回对象

时间:2013-07-03 21:52:08

标签: ruby-on-rails ruby-on-rails-3

不幸的是,以下内容对我不起作用@shps是一个网址列表。

<h1>Shewps</h1>
<% @shps.each do |shp| %>
<%= image_tag(shp) %>
<% end %>   

我得到的HTML如下:

<img alt="#&lt;shp:0xa0c5af8&gt;" src="/assets/#&lt;Shp:0xa0c5af8&gt;">

似乎shp正在返回一个对象?,当我在图片标签之外使用shp时它会以字符串形式返回。当它是外部网址时,它也会查看./assets/。

2 个答案:

答案 0 :(得分:2)

您应该将实际网址传递给ActiveRecord方法,而不是传递image_tag对象。因此,假设您将其存储在url列中:

<% @shps.each do |shp| %>
  <%= image_tag shp.url %>
<% end %>

答案 1 :(得分:0)

原来我需要调用shp.url,url是我模型的属性之一。 shp返回整个对象。