Как image_tag переопределяется и причина не добавлять отпечаток пальца - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть приложение rails, с sass less и многими драгоценными камнями.

Я пытаюсь найти, где image_tag перезаписано для отладки, почему оно не добавляет отпечаток пальца га sh на URL.

Я сделал rails assets:precompile, а файлы с отпечатком ha sh существуют в publi c dir. Проблема на производстве и в разработке, которую я настроил (как на производстве) следующим образом:

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 и так далее. Но не содержат га sh отпечатков пальцев

1 Ответ

0 голосов
/ 18 апреля 2020

Первая проблема решена. Это был path - первый параметр image_tag. Когда путь начинается с / (например, /img.png) - это означает, что URL-адрес не проверяется на наличие активов и не изменяется с помощью дайджеста. Если путь не начинается с / (например, img.png), он проверяется на наличие ресурсов и добавляется дайджест.

Вторая проблема не решена. Нет способа найти, где определена фактическая функция image_tag, где и как она переопределена.

...