Мне наконец удалось решить эту проблему.В случае, если кто-то столкнется с этой проблемой, я подумал, что запишу шаги, которые я предпринял для ее решения.
Я запустил свое приложение локально в рабочем режиме (RAILS_ENV=production rails s
) и смог скопировать ошибку, полученную в Heroku на моей локальной машине.
Я скопировал мои active_admin.css.scss и active_admin.js в каталог / vendor / assets.Поскольку y app
постоянно говорил мне, что в нем отсутствует active_admin / mixins, я также скопировал весь каталог active_admin в assets в каталог vendor / assets.Я не уверен, если это необходимо или нет.
Мне сказали, что с точки зрения Heroku, но я не могу подтвердить, что во время прекомпиляции production.rb не читается, поэтому все параметры должны быть определены в application.rb.Итак, я позаботился о том, чтобы у меня были следующие настройки в application.rb -
#Added to fix devise/active admin issue ?
config.assets.initialize_on_precompile = false
# Precompile additional assets. Defaults to [application.js, application.css, non-JS/CSS]
config.assets.precompile += ['active_admin.css.scss', 'active_admin.js']
Я нашел большинство вышеупомянутых советов по сети (на stackoverflow, heroku, github и т. Д.).Часть, которую я не видел, была необходимость внести изменение Bundler.require в application.rb с:
Bundler.require(*Rails.groups(:assets => %w(development test)))
на:
Bundler.require(:default, :assets, Rails.env)
Как только я внес эти изменения, я могвставьте код в Heroku и дайте ему прекомпилировать ресурсы для меня.Я надеюсь, что это может помочь кому-то сэкономить время в решении этой проблемы.