【问题标题】:How to use t() in an erb-compiled javascript-asset?如何在 erb 编译的 javascript 资产中使用 t()?
【发布时间】:2013-06-07 08:45:36
【问题描述】:

我有一个文件app/assets/javascripts/calendar/weekplans.js.erb,其中包含一些基本的erb:

var init_weekplans = function() {
  //..
  allDayText: '<%= t('weekplan.all-day') %>'
  //..
}

Rails 无法使用 undefined method 't' (预)编译此资产。我想在那里使用 ActionView::Helpers::TranslationHelper 中的t() 方法。我如何包括这个?完全包含它是明智的,还是应该简单地将任何此类变量从控制器或视图中推送到 init_weekplans 函数中?

【问题讨论】:

    标签: ruby-on-rails-3 asset-pipeline


    【解决方案1】:

    你可以试试

    I18n.t instead of t.
    

    【讨论】:

    • 谢谢。这就是诀窍。然而,我确实在我的想法中发现了一个严重的错误:当资产被预编译时,它不再是多语言的,而是使用默认语言编译的;所以很遗憾,我需要完全放弃这个想法。
    • 是的,你是对的。你可以看看这个问题:stackoverflow.com/questions/2701749/…
    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2021-08-27
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多