Ruby on rails 3.2 为什么我的'image_tag'路径有时会以'assets'目录*作为前缀?

Ruby on rails 3.2 为什么我的'image_tag'路径有时会以'assets'目录*作为前缀?,ruby-on-rails-3.2,Ruby On Rails 3.2,我有一张简单的照片模型: class Photo < ActiveRecord::Base attr_accessible :image, :thumb, :title end 这将生成此html源代码段: <tr> <td>IMG_8283.JPG</td> <td>photo/thumb/1/IMG_8283.JPG | <img alt="Img_8283" src="/assets/photo/thumb/1/IM

我有一张简单的
照片
模型:

class Photo < ActiveRecord::Base
  attr_accessible :image, :thumb, :title
end
这将生成此html源代码段:

<tr>
  <td>IMG_8283.JPG</td>
  <td>photo/thumb/1/IMG_8283.JPG | <img alt="Img_8283" src="/assets/photo/thumb/1/IMG_8283.JPG" /></td>
  <td><a href="/photos/1">Show</a></td>
</tr>

img8283.JPG
photo/thumb/1/img8283.JPG|

为什么第二种情况下有
/asset
前缀而不是第一种情况下的前缀?
我希望
标记引用相同的基本位置路径(这也是我的首选)。

在第二个示例中,当您使用
image\u tag
时,您使用的函数访问照片,这意味着
image\u标签
将把您的路径附加到
assets/
,以便找到您要查找的照片


但是,如果在
public/assets…
中已经有一个文件,它仍然会被提供,这会给您带来不一致的问题。

err。。。我以为我在这两种情况下都使用了
image\u标签
。。。但这可能不是你想要区分的。作为一个最佳实践,你有什么建议?好吧,一开始我没有看到。你在资产和公共目录中都有图像吗?我没有,但是为了继续设计,我在文件系统中从
public/assets/photo/thumb->public/photo/thumb
创建了一个软链接。例如,当您第一次创建项目时,您必须删除索引页,否则任何其他索引页都不会显示。但是,在这种情况下,image_标记将首先从public中提取。
<p id="notice"></p>
<p><img alt="Img_8283" src="/photo/image/1/IMG_8283.JPG" /></p>
<a href="/photos/1/edit">Edit</a> |
<a href="/photos">Back</a>
<% @photos.each do |photo| %>
  <tr>
    <td><%= photo.title %></td>
    <td><%= photo.thumb %> | <%= image_tag photo.thumb if photo.thumb? %></td>
    <td><%= link_to 'Show', photo %></td>
  </tr>
<% end %>
<tr>
  <td>IMG_8283.JPG</td>
  <td>photo/thumb/1/IMG_8283.JPG | <img alt="Img_8283" src="/assets/photo/thumb/1/IMG_8283.JPG" /></td>
  <td><a href="/photos/1">Show</a></td>
</tr>