Rails - Rails.root.join плохо себя ведет после развертывания

В моем каталоге app / assets есть каталоги javascript и таблицы стилей, как и в любом обычном приложении Rails.

Однако я хотел также иметь каталог плагинов.

Пример:

app/assets/plugins/myPlugin1/somefile.js
app/assets/plugins/myPlugin1/somefile.css

Дело в том, если я использую

<%= javascript_include_tag 'plugins/myPlugin1/somefile.js' %>

Я бы получил ошибку 404, как

/assets/javascripts/plugins/myPlugin1/somefile.js

не существует. Тогда я заметил, что dir «plugins» пытался получить доступ внутри javascripts. Я предполагаю, что это как-то связано с "javascript_include_tag".

После некоторых исследований я понял, что мне нужно включить эту строку в config / application.rb

config.assets.paths << Rails.root.join("app", "assets")

И это, похоже, сработало. На WEBRick, на разработке, все работало прекрасно.

Теперь я успешно развернул сервер, предварительно скомпилировал ресурсы и подумал, что готов к работе.

каталог

/public/assets/

был создан. Все в «app / assets / javascripts», «app / assets / stylesh, eets» и «app / assets / plugins» было предварительно скомпилировано в public / assets

ЧТО РАБОТАЕТ

app/assets/javascripts/login.js

был доступен в представлении, которое имело

<%= javascript_include_tag 'login.js' %>

ЧТО НЕ РАБОТАЕТ

Файлы, которые принадлежали "плагинам".

app/assets/plugins/myPlugin1/somefile.js

был предварительно скомпилирован в

public/assets/myPlugin1/somefile.js

Но когда я побежал

<%= javascript_include_tag 'plugins/myPlugin1/somefile.js' %>

он пытается получить доступ

/javascripts/plugins/myPlugin1/somefile.js

когда правильный путь, согласно моему опыту в разработке, будет:

/myPlugin1/somefile-(some hex hash).js

Итак, как вы можете видеть, в процессе производства я испытываю ту же проблему, что и когда я не добавил

config.assets.paths << Rails.root.join("app", "assets")

к application.rb

В чем может быть проблема?

Ответы на вопрос(1)

Ваш ответ на вопрос