【发布时间】:2013-02-12 19:16:14
【问题描述】:
为什么image_path坚持在public/images中存储的图片路径前面追加assets/?
我正在建立一个摄影师的网站,因此我们自然希望其中包含照片,包括随机选择的一些照片作为布局的一部分。此外,我建立了一个超级简单的画廊,只显示所有照片。这些图像文件存储在:
public/images/gallery
我得到了一个 ImageMagick gem 来将它们缩小到所需的大小。这些小文件存储在:
public/images/gallery/sm/
缩小是在页面加载时完成的,作为呈现布局 ERB 的一部分。我知道它最初可能听起来很糟糕,但它只会缩小一次图像,而延迟缩小意味着我们不必重新启动服务器来添加新照片(他想这样做)。
我的阅读表明资产管道是用于静态布局的东西,但这比那更动态。我被引导相信 public/images 是这些东西应该去的地方,特别是因为生产模式 Rails 抱怨生成的缩略图没有被编译。
输入问题:我将这些图像放在上面显示的路径中,并且 image_path 会返回看起来像资产管道路径的内容。当我将子目录展平并将所有内容都放在 public/images 中时,它甚至都不起作用。
我的解决方法是手动构建标签。那么image_path(以及扩展名image_tag)是否仅适用于资产管道?我应该从公共图像的字符串中构造标签吗?我还发现提到 image_path 应该首先在公共场合查找匹配的文件,但我也看到文档 (http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html) 声称它不会验证它返回路径的东西的存在。
【问题讨论】:
标签: ruby-on-rails api ruby-on-rails-3.2