我有一個非常簡單的Backbone View,我希望有條件地呈現HTML的某些塊。我看到一個行爲,在有條件呈現的HTML之後還有一個整數呈現。從我所知道的情況來看,當我使用end
語句終止一個條件塊時,似乎發生了這種情況。當使用'結束'語句時,生態模板呈現整數
下面是一些代碼,展示着錯誤對我來說:
<% if true: %>Hello World!<% end %>
我希望它可以使Hello World!
包含元素。但是,它實際上是呈現Hello World!2
。
如果我添加若干塊在同一模板:
<% if true: %>Foo, <% end %>
<% if true: %>Bar, <% end %>
<% if true: %>Baz<% end %>
我希望它可以使Foo, Bar, Baz
包含元素。但是,它實際上是渲染Foo, 2 Bar, 5 Baz8
。在運行一些更大的集合之後,似乎每次打印的整數都會增加3。從閱讀寶石的README我看不出我做錯了什麼。
任何幫助將不勝感激!
您是否將具有值的變量結束傳遞給模板?它可能會以某種方式覆蓋默認的最終功能。 – abraham 2012-04-06 18:21:28
在這種情況下,模板範圍中唯一的東西就是渲染對象(骨幹視圖)。除此之外,沒有傳遞任何額外的上下文。 這就是說...也許'結束'在骨幹視圖的上下文是一個輔助函數或什麼?我會研究一下。 – 2012-04-08 20:20:41
找不到該路徑下的任何根本原因。最後,我將我的應用程序切換回JavaScript並將模板切換到EJS。不是我正在尋找的結果,但至少它是有效的。 – 2012-04-09 17:34:55