2012-10-02 55 views
0

我正在使用ActiveJDBC訪問第三方數據庫。有一列名爲「users/year」。我對此不滿意,但無法改變。 這個結果是json中的「users/year」屬性,它是我的backbone.js模型的基礎。現在,如果我想訪問以下模板中的該屬性:ActiveJDBC + Backbone.js生成的屬性名稱不可用

<li><%= name+ ' ' + users/year %></li> 

當然,它不起作用。我試圖逃跑,但這不起作用。有什麼建議麼?

由於我是activeJDBC和backbone.js的新手,有沒有辦法將屬性映射到可接受的變量名?或者其他可能的解決方案?我應該從activeJDBC切換到其他?

回答

0

你可以添加一個解析方法到您的收藏或模型,你的屬性重新映射到一個可用的名字:

var M = Backbone.Model.extend({ 
    parse: function(resp) { 
     if (resp['users/year']) { 
      resp['users_year'] = resp['users/year']; 
      delete resp['users/year']; 
     } 

     return resp; 
    } 
}); 

,改變你的模板相應

​​3210

小提琴http://jsfiddle.net/nikoshr/rnKSD/

0

或者你可以用一個吸氣包裝包裝你的模型的動態吸氣劑: http://code.google.com/p/activejdbc/wiki/SettersAndGetters#No_%22standard%22_setters/getters ???

+0

你能提供一個例子嗎?我看過那頁,沒有幫助我,謝謝。據我瞭解,問題是屬性名稱不是吸氣劑。 – Tarken

+0

而不是這樣做: user.get(「address」); 你增加一個吸氣劑: class用戶public String getAddress(){return getString(「address」); } } – ipolevoy

相關問題