Я работаю над приложением Ruby on Rails, использующим Webpacker. Я получаю странную ошибку неопределенного метода при использовании asset_pack_path
- выдается NoMethodError
и говорит undefined method 'asset_path' Did you mean? asset_pack_path
. Это метод с аналогичным названием, но не тот, который я вызываю; asset_path
также не фигурирует в кодовой базе приложения.
Я считаю, что вызываю правильный путь внутри asset_pack_path
, но это, похоже, не согласуется с ошибкой. Возможно, где-то несоответствие версий? Я в недоумении с этим. Любые идеи или предложения по устранению этой ошибки undefined method
и использованию asset_pack_path
будут полезны.
Спасибо!
Вы пытаетесь вызвать вспомогательный метод Rails Views внутри контроллера.
Попробуйте: ActionController::Base.helpers.asset_pack_path
Оказалось, что asset_path
вызывался внутри метода asset_pack_path
— для работы assets_pack_path нужно включить оба ActionView::Helpers::AssetUrlHelper
Webpacker::Helper
Не знаю зачем, но мне понадобился
ActionController::Base.helpers.asset_pack_path("media/images/logo.png")
- у меня он отказался работать без части media/images/, хотя logo.png был внутри images/, а не в каком-то особом месте. Я понял, чего он хочет, запустивbin/webpack
в терминале и посмотрев на результат. Надеюсь, это поможет кому-то.