说在 vendor/assets
我有两个子目录,/alpha
和 /beta
, 每个都有一个名为 temp.jpg
的文件.据我了解,对 /assets/temp.jpg
发出了 GET 请求。 ,我很确定提供了来自 alpha 目录的那个。但是我如何区分这两者呢?我认为可以通过 asset_url
来完成 helper ,但我不太确定 - 如果有人能提出建议,那就太好了。
最佳答案
从手册:
您可以通过在 Rails 控制台中检查 Rails.application.config.assets.paths 来查看搜索路径。
可以将其他(完全限定的)路径添加到 config/application.rb 中的管道中。例如:
config.assets.paths << Rails.root.join("app", "assets", "flash")
Sprockets 还将查看 config.assets.paths 中指定的路径,其中包括标准应用程序路径和 Rails 引擎添加的任何路径。
如果需要,图像也可以组织到子目录中,并且可以通过在标签中指定目录名称来访问它们:
<%= image_tag "icons/rails.png" %>
如果您使用的是 Assets 管道,我不确定您的哪些图像会由未指定 url 的链接提供(如果有)。如果提供了一个,它将与 Sprockets 递归读取这些目录的顺序有关。如果它以 alpha 顺序读取它们,则将提供“beta”图像。否则它只是随机的,我不确定链轮如何读取目录。
你最好在那里放一条明确的路径。如果您正在进行某种测试,例如您希望出现 beta 图像,我建议您使用某种参数化方法,以便您可以将“alpha”或“beta”传递到您的路径中。
关于ruby-on-rails-3.1 - Rails—— Assets 管道——按目录识别资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770669/