2013-07-21 81 views
0

我有一個顯示文章列表的句柄模板。每篇文章都有兩個提示,通過belongsTo關係與它關聯。該信息被正確地從服務器回來這個JSON:EmberData - 在把手模板中顯示belongsTo關係

{"article":[{"id":7,"prompt_one":{"content":"Thing1"},"prompt_two":{"content":"Thing2"}]} 

現在,我能夠呈現從文章的其他數據還行,但我一直沒能得到數據從一個提示在句柄模板中呈現。我認爲它會如此簡單:

<p>{{prompt_one.content}}</p> 

但是什麼也沒有顯示,並且沒有顯示錯誤。渲染相關模型內容的正確方法是什麼?

回答

1

你可以做兩件事情:

  1. 嵌入式記錄。如果將提示對象嵌入到文章的JSON中,則需要將它們定義爲嵌入式(ember-data does not support embedded objects)。

    DS.RESTAdapter.map('App.Article',{ 
        prompt:{ 
         embedded:'always' 
        } 
    }) 
    
    App.Article = DS.Model.extend({ 
        prompt: DS.belongsTo(App.Prompt,{embedded:'always'}), 
    }); 
    
  2. 自定義對象屬性。如果您只想嵌入對象而不使用belongsTo關係,則可以註冊自己的DS.attr('object')類型。

    DS.RESTAdapter.registerTransform('object', { 
        deserialize: function(serialized) { 
        return Ember.isEmpty(serialized) ? {} : JSON.parse(serialized); 
        }, 
        serialize: function(deserialized) { 
        return Ember.isEmpty(deserialized) ? '' : JSON.stringify(deserialized); 
        } 
    });