Rails 请教 Rails 3 image_tag 怎么显示其它路径的图片?

fayannie · 2012年03月27日 · 最后由 wangyzyoga 回复于 2015年01月21日 · 14930 次阅读

Rails 3 中用 image_tag 默认只能显示放在 app/assets/images 下面的图片~~ 如果我要把图片放在 public 路径下,用 image_tag 怎么显示呢?

hi,试试

= image_tag 'file:///home/XXXXX/demo/XX.jpg', :size => "50x50"

用绝对路径 image_tag "/images/xxx.jpg"

@ywencn 大牛,麻烦你帮我看看http://ruby-china.org/topics/2181 实在没办法里...

@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 不可的無理要求,建議樓主抽下皮帶默默走向他,讓他嚐嚐怒漢的鐵拳。

出氣之後試試這樣的寫法 #{Rails.root}/public/images/hello.png

@Victor O(∩_∩)O 哈哈~客户其实也不是无理的要求,如果放到 app/assets/下面,部署到生产模式的时候就会遇到如下面这个帖子所说的问题http://ruby-china.org/topics/1415~~

@Victor 试过你说写法,还是不行,不明白为什么 Rails3.2 及以上就会有这样的问题,以前貌似在 ITeye 上面看到一篇解决这个问题的文章,可是现在怎么也搜不到了~~

可以用../xxx.png吗?

配合 nginx 就 ok 啊

@vkill 没用任何插件,就是一个简单的图片上传和显示,只是上传的图片不可以放在 app/assets/下面。

#14 楼 @fayannie 谢谢分享。也为我解决了这个问题。

找一个浏览器可以访问的地址就可以

顶一下,这个问题正好解决了我的疑问,谢谢了。

也正好解决了我的问题,谢谢!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号