Привет, это не вопрос, а решение проблемы:)
Я обновил рельсы с 5.1.x
до 5.2.x
, в этой новой версии рельсов по умолчанию обновляются звездочки с 3.x.x
до 4.x.x
версия. Поэтому, если вы используете wicked_pdf
gem старой версии, вы можете столкнуться с такой проблемой:
ActionView::Template::Error:
undefined method `pathname' for #<Sprockets::Asset:0x0000564070ad65e0>
Я использовал wicked_pdf
версию 1.1.x
. И я не нашел подобных проблем. Так что через некоторое время, пройдя через код, я обнаружил, что более старый гем wickedpdf пытается получить pathname
из asset
, а sprockets => 4.0.0
не поддерживает pathname
и использует filename
старый гем код:
asset ? asset.pathname : File.join(Rails.public_path, source)
новый код драгоценного камня:
if asset
# older versions need pathname, Sprockets 4 supports only filename
asset.respond_to?(:filename) ? asset.filename : asset.pathname
else
File.join(Rails.public_path, source)
end
Итак, в заключение, если вы обновили свои звёздочки до v4, вы должны также обновить свой старый wicked_pdf
драгоценный камень.