【问题标题】:Rails - include javascript tag with dynamic (per request) filename?Rails - 包含带有动态(每个请求)文件名的javascript标签?
【发布时间】:2020-01-09 12:47:18
【问题描述】:

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,但似乎变量插入工作不正常。

我该如何做到这一点?尽管locales/#{I18n.locale}.js 每次请求都会发生变化,但实际资产本身确实是静态的。

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    带单引号的字符串字面量不会插入,你会得到

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

    # 之后的部分被视为 url 锚部分

    试试

    javascript_include_tag "locales/#{I18n.locale}.js"
    

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 2014-11-07
      • 2018-08-22
      • 2011-04-21
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      相关资源
      最近更新 更多