Rails - включить тег javascript с динамическим именем файла c (за запрос)? - PullRequest
0 голосов
/ 09 января 2020

Внутри assets/javascripts/locales у меня есть куча активов, таких как:

en-GB.js.erb
en-CA.js.erb

И так далее. Очевидно, языковой стандарт будет меняться при каждом запросе, поэтому я пытаюсь включить тег JS, например:

<%= javascript_include_tag 'locales/#{I18n.locale}.js' %>

Однако в итоге я вижу эту ошибку:

The asset "locales/.js" is not present in the asset pipeline.

может показаться, что вставка переменной не работает правильно, хотя я уже использую I18n.locale в других местах того же файла.

Как мне выполнить sh это? Хотя locales/#{I18n.locale}.js изменяется по запросу, сами фактические активы действительно являются c.

1 Ответ

1 голос
/ 09 января 2020

Строковые литералы с одиночными кавычками не интерполируются, и вы получите

<script src="/javascripts/locales/.js#{I18n.locale}.js"></script>

с частью после #, обработанной как часть с якорем URL

try

javascript_include_tag "locales/#{I18n.locale}.js"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...