2014-02-13 105 views
0

我正在構建一個使用Backbone作爲前端框架的Rails應用程序。我爲我的模板使用了Handlebars。Rails,Backbone,Handlebars模板和.erb

在Rails方面我有一個發佈模型,每個發佈都有很多文章。現在我想將我的出版物名稱列表打印到屏幕上。

當我通過我的出版物集合視圖的渲染功能,我就好使用此代碼爲我的車把模板顯示名稱:

{{#each publications}} 
    {{#if name}} 
    <li style='color:green'> 
     {{name}} 
    </li> 
    {{/if}} 
{{/each}} 

現在我也希望是有名稱旁邊的這些按鈕允許我編輯和刪除,就像Rails最初生成的views> publications> index.html.erb頁面一樣。代碼爲:

 <%= link_to t('.edit', :default => t("helpers.links.edit")), 
        edit_publication_path(publication), :class => 'btn btn-mini' %> 
     <%= link_to t('.destroy', :default => t("helpers.links.destroy")), 
        publication_path(publication), 
        :method => :delete, 
        :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, 
        :class => 'btn btn-mini btn-danger' %> 

由於此代碼涉及.erb標記我不知道如何將它集成到我的句柄模板。有人可以幫我解決這個問題嗎?我試圖完成的事情有什麼根本錯誤嗎?

回答

3

你應該能夠將handlebars模板文件重命名爲* .hbs.erb,並且像正常一樣使用erb標籤。

Rails將按照文件擴展名從右到左的順序編譯文件。 在這種情況下,erb內容將被注入到handlebars文件中,然後該文件將被預編譯的serverside,或發送到客戶端並在運行時編譯(默認行爲)。