Ruby on Rails / Backbone with Marionette app
当我尝试使用i18n(i18n-js Ruby gem)查看正确的语言时,我发现当我向layout-menu.jst.ejs.erb
添加任何手动更改时,内容只是更改并向该区域添加正确的语言模板文件。
这就是我在menu-view.js.coffee
上的内容@CitaManager.module "Layout", (Layout, CitaManager, Backbone, Marionette, $, _) ->
Layout.MenuView = Marionette.ItemView.extend
template: JST["marionette/mine/templates/layout-menu"]
ui:
btnAgenda: ".btn_agenda"
btnNotes: ".btn_notes"
btnVideoconference: ".btn_videoconference"
btnIndicators: ".btn_indicators"
btnVademecum: ".btn_vademecum"
triggers:
"click @ui.btnAgenda": "menu:agenda"
"click @ui.btnNotes" : "menu:notes"
"click @ui.btnVideoconference" : "menu:videoconference"
"click @ui.btnIndicators" : "menu:indicators"
events:
"click .btn": "btnClicked"
"click @ui.btnVademecum": "openVademecum"
initialize: (options)->
@isPremium = options.isPremium
@isStandard = options.isStandard
btnClicked: (event) ->
$('li', $(event.target).closest('ul')).removeClass('active');
$(event.target).closest('li').addClass('active');
openVademecum: ->
if this.isPremium
window.open('http://www.vademecum.es/registrase_connect?urlBack=http%3A%2F%2Fwww.vademecum.es%2F', 'newwindow', 'width=400, height=400');
else
bootbox.alert('Lo sentimos, este servicio solo está disponible para los planes premium')
return false
onRender: ->
console.log "Menu rendered"
我粘贴在模板上
<p>
<%= I18n.locale %>
</p>
我重新加载页面导致更改,然后它说 es (西班牙语)谁在代码中写,当然,您可以查看西班牙语文本,但如果我将语言更改为“ en“(英语)它仍然在视图上显示 es ,但是如果我打开控制台并输入现在相同的内容:I18n.locale它说”en“
答案 0 :(得分:0)
<强>解决!强>
问题在于文件名layout-menu.jst.ejs.erb
,只需移除.erb
即可。