rails3资产管道和文件冲突

gmo*_*iey 6 ruby-on-rails-3 asset-pipeline

我正在将现有的rails 2应用更新到rails 3,并且在理解资产管道时遇到一些麻烦.我已经阅读了指南,据我了解,以下任何目录中的文件都将解析为/ assets:

  • 应用程序/资产
  • LIB /资产
  • 供应商/资产

并且您可以使用帮助程序访问它们...即

image_tag('logo.png')
Run Code Online (Sandbox Code Playgroud)

但我不明白的是如何处理碰撞?例如,如果有以下文件,该怎么办:

  • 应用程序/资产/图像/ logo.png
  • LIB /资产/图像/ logo.png

如果我去myapp.com/assets/images/logo.png,将返回哪个文件?我可以在我的应用程序中手动检查碰撞,但这在使用依赖资产管道的宝石时成为一个痛点.

gmo*_*iey 2

根据我的发现,你不能有重复的文件,因为rails只会返回找到的第一个文件。

这似乎有点设计缺陷,因为 gem 可能不会命名自己的资产