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