我有Rails应用程序,使用了较少的Sass和许多宝石。
我试图找到image_tag的覆盖位置,以调试为什么不将fingerprint哈希添加到URL。
我已经完成rails assets:precompile
,并且带有哈希指纹的文件存在于公共目录中。问题是我在生产和开发中配置的(就像在生产中一样):
config.assets.compile = true
config.assets.digest = true
[我试图在~/.gem/gems
和~/.gem/bundler/gems/
以及项目文件夹中搜索def image_tag
和:image_tag
-除了实际定义的地方(actionview-5.0.7.2/lib/action_view/helpers/asset_tag_helper.rb
),没有其他结果。
我尝试从image_tag
的asset_tag_helper.rb
打印一些内容-没有任何输出,但是在asset_path
的asset_url_helper.rb
输出处存在,但未处理任何图像文件。
相同时间image_tag
正常工作,并使用:size
等选项生成正确的标签。但不包含哈希指纹]
第一个问题已解决。这是一个path
-image_tag
的第一个参数。当路径从/
(例如/img.png
)开始时-这意味着url不会检查资产是否存在,也不会使用摘要进行修改。如果路径不是从/
开始(例如img.png
),则将检查资产并添加摘要。
第二个问题没有解决。无法找到在何处定义实际的image_tag
函数以及在何处以及如何对其进行覆盖。