2014-10-29 62 views
0

所以我有一個視圖將呈現將包含圖像的模板。該圖片取決於被傳入的變量,位於assets/images主幹視圖,需要根據參數在模板中呈現圖像

基本上,我該如何將這個模型傳遞給模板,以便它可以呈現正確的圖像?

通常在Rails我只想做在Rails ERB模板:

<img class="item-portrait" 
src="<%= image_path("items/" + item.name.gsub(" ", "-").downcase + ".png") 
%>"> 

我怎樣才能做到在JST模板同樣的效果?

回答

0

讓我們假設你的模型是這樣的:

var itemPortraitModel = new Backbone.Model({ 
    'path' : 'path_to_file' 
}); 

和你的觀點與此類似:

var ItemPortraitView = Backbone.View.extend({ 
    template: JST['itemPortraitTemplate'], 
    render: function() { 
    this.$el.html(this.template(this.model.attributes)); 
    return this; 
    } 
}); 

然後在itemPortraitTemplate模板代碼,任何模型中的屬性會可用:

<img class="item-portrait" 
src="<% print(("items/" + path + ".png") %>"> 
+0

我不認爲這有效。打印似乎並沒有像image_path那樣執行相同的操作。它試圖將我發送到本地主機路由 – 2014-10-30 03:29:46

+0

打印只輸出參數到屏幕上,它不像image_path(我不熟悉)操縱它。您可以確保模型中的路徑已經正確,或者將輔助函數傳遞到正確處理它的模板中。如果你展示一個你的模型看起來像什麼和正確的文件路徑是什麼的例子,這可能會有所幫助。 – ne8il 2014-10-30 15:41:00