2013-03-04 10 views
6

Naprawdę walczę z adapterem REST Ember-data i zagnieżdżonymi zasobami i doceniam każdą pomoc ... Używam najnowszej (1.0.4pre) wersji Ember i Dane Ember (wersja: 11).Zmaganie się z adapterem REST Ember-data i zagnieżdżonymi zasobami

mam 2 prostych modeli:

App.User = DS.Model.extend({ 
    name:  DS.attr('string'), 
    email: DS.attr('string'), 
    schemes: DS.hasMany('App.Scheme') 
}); 

App.Scheme = DS.Model.extend({ 
    name: DS.attr('string'), 
    users: DS.hasMany('App.User') 
}); 

i proste zagnieżdżone tras:

Router.map(function() { 
    this.resource("user", { path: "users/:user_id" }, function() { 
    this.resource("schemes"); 
    }); 
}); 

mam szyny 3 JSON API, który posiada następujące punkty końcowe:

/users/:user_id 
/users/:user_id/schemes 

Kiedy I nawigować do users/:user_id/schemes w mojej aplikacji ember Chcę pobrać wszystkie schematy użytkownika, jednak domyślnie Em żądania danych berka /schemes, który nie jest punktem końcowym w moim API - mogę go dodać, ale potrzebuję schematów zakresu przez użytkownika, nie mam koncepcji current_user, ponieważ chcę zobaczyć dowolnego użytkownika i jej schematy.

Czy istnieje sposób zmuszenia Embera do obejrzenia /users/:user_id/schemes lub dołączenia parametru zapytania do domyślnego wywołania ajaxowego Ember, np .: /schemes?user_id=:user_id?

Czy istnieje sposób na dodanie do nagłówków zapytania ajax, który z kolei mój interfejs API może odczytać i ustawić odpowiednio odpowiedź /schemes?

Odpowiedz

4

Wygląda na to, że omawiana funkcja została nieco omówiona, ale jeszcze nie została wdrożona. This issue zawiera przykładowy kod do szybkiego obejścia.

Można również użyć:

var userSchemes = App.Scheme.find({ used_id: 'id' }); 

kwerendy /schemes?user_id=id.

+0

Dzięki @ahmacleod. Używanie 'App.Scheme.find ({id_użytkownika: 'id'});' działa na razie, ale wygląda na tanie obejście. Sądzę, że właśnie to pochodzi z jazdy z młodą technologią! – olvado

Powiązane problemy