wicked_pdf не работает после обновления рельсов - PullRequest
0 голосов
/ 16 января 2020

Привет, это не вопрос, а решение проблемы:)

Я обновил рельсы с 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 драгоценный камень.

...