2013-12-19 64 views
1

我正在寫一個簡單的餐廳菜單,我需要檢查兩個值是否相等,內部的句柄模板。更具體地說,我有一堆dish模型,其中有category_id字段。所以我需要顯示一個dish,如果它與我們現在的類別具有相同的category_id自定義餘燼塊幫手的參數

和我有下面的幫助:

Em.Handlebars.registerHelper 'ifEqual', (v1, v2) -> 
    # debugging 
    console.log v1, v2 
    return v1 == v2 

,我使用這種方式:

.categories 
    =hb 'each c in categories' do 
    %ul 
     %li=hb 'c.name' 
     =hb 'each d in dishes' do 
      %ul 
      =hb 'ifEqual d.category_id c.id' do 
       %li=hb 'd.name' 

(對不起,hamlbars和CoffeeScript的,但它應該很清楚)

問題是,console.log輸出字符串"d.category_id""c.id",我不知道它爲什麼這樣工作。

在另一方面以下非塊輔助工作相當不錯,並且輸出實際值

Em.Handlebars.helper 'console-log', (v1, v2) -> 
    console.log typeof(v1), v1 
    console.log typeof(v2), v2 

任何想法,爲什麼是這樣工作和我做了什麼錯?

回答