Rails 3 中用 image_tag 默认只能显示放在 app/assets/images 下面的图片~~ 如果我要把图片放在 public 路径下,用 image_tag 怎么显示呢?
@ywencn, 不行 rails3 里只能 image_tag("image.jpg")且此图片是要放在 app/assets/images 路径下面才能显示出来。 可能是路径默认了,用绝对路径也不能显示,不知道能怎么改一下~~
image_tag("icon.png") # =>
<img src="/images/icon.png" alt="Icon" />
問題不在 image_tag 方法的參數上,LZ 需要解決的問題是在 Rails3 下面如何顯示存儲在 /public/images 下面的圖片。即便不是是用 image_tag 而是手寫 HTML 問題是一樣的。
所以我覺得 LZ 應該先搞清楚為什麼 Rails3 要搞一個 app/assets 文件夾。如果客戶或者實際開發中需求方就是提出了非要放到 /public/images 不可的無理要求,建議樓主抽下皮帶默默走向他,讓他嚐嚐怒漢的鐵拳。
@Victor O(∩_∩)O 哈哈~客户其实也不是无理的要求,如果放到 app/assets/下面,部署到生产模式的时候就会遇到如下面这个帖子所说的问题http://ruby-china.org/topics/1415~~
@Victor 试过你说写法,还是不行,不明白为什么 Rails3.2 及以上就会有这样的问题,以前貌似在 ITeye 上面看到一篇解决这个问题的文章,可是现在怎么也搜不到了~~
我要哭死了,问题已解,是我犯了一个很小的错误,小小的总结一下~~ 如果"1.jpg"放在 app/assets/images 下面,那就 image_tag("1.jpg") 就行了~~ 如果"1.jpg"放在 public 下面,应该是 image_tag("/1.jpg"),这个路径有一个斜杠的区别~~ @ywencn @Victor @zhaoguobin @hlcfan 谢谢帮忙,这个斜杠找的我好辛苦~~