Вы можете сделать обезьянку-патч ActionView :: Base, попробуйте это в консоли rails:
helper.image_path "foo" #=> "/assets/foo"
module OldImagePath
def image_path(source)
asset_paths.compute_public_path(source, 'images')
end
alias_method :path_to_image, :image_path
end
ActionView::Base.send :include, OldImagePath
helper.image_path "foo" #=> "/images/foo"
Вы можете поместить это, например, в инициализатор.По умолчанию ActionView :: Base включает ActionView :: Helpers :: AssetTagHelper и Sprockets :: Helpers :: RailsHelper, которые оба определяют image_path, но последние имеют приоритет.Я включаю свой собственный модуль, который имеет приоритет над всеми ними (код внутри взят из ActionView :: Helpers :: AssetTagHelper).
Хотя, имеет смысл использовать конвейер ресурсов для изображений тоже.Они получают хэш-сумму в своих именах файлов, чтобы их можно было постоянно кэшировать на стороне клиента, не спрашивая сервер, был ли файл изменен.