2017-07-18 82 views
0

紅寶石與木偶應用木偶(骨幹)只呈現新內容時,我修改HTML內容

當我嘗試查看正確的語言與國際化了變化它(國際化-JS紅寶石寶石軌道/骨幹網)我發現內容只是改變,並添加正確的語言到該地區,當我添加任何手動更改爲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但如果我打開控制檯並現在鍵入s ame:I18n.locale它說「en」

+1

Backbone不提供雙向綁定。你需要另外一個lib來做到這一點,或者你只需​​要在有變化的地方重新渲染視圖。 –

+0

謝謝@EmileBergeron –

回答

0

解決!

問題出在文件名layout-menu.jst.ejs.erb剛刪除.erb工作。