2014-12-27 6 views
0

Предположим, что мы имеем следующий код:Является ли пространство имен Ember RESTAdapter наследуемым?

App.ApplicationAdapter = DS.RESTAdapter.extend({ 
    namespace: '/webapp_name' 
    host: 'http://localhost:8080' 
}); 

App.PersonAdapter = DS.RESTAdapter.extend({ 
    namespace: '/foo/bar' 
}); 

Итак, модель App.Person таргетингом на http://localhost:8080/webapp_name/foo/bar/person или http://localhost:8080/foo/bar/person?

+1

Попробуйте унаследовать свой '' PersonAdapter' из App.ApplicationAdapter' вместо 'DS.RESTAdapter '. Затем он будет «нацеливаться» на http: // localhost: 8000/foo/bar/persons. –

ответ

1

Да, адаптер - это только объект Ember и может быть расширен, но ваш пример не наследует PersonAdapter от ApplicationAdapter.

Вы должны App.PersonAdapter продлить от App.ApplicationAdapter, если вы хотите, чтобы наследовать host имущество от App.ApplicationAdapter.

App.PersonAdapter = App.ApplicationAdapter.extend({ 
    namespace: '/foo/bar' 
}); 

выше теперь будет иметь host свойство, унаследованное от ApplicationAdapter, но пространство имен будет переопределен с результатом является http://localhost:8080/foo/bar/xxx

Смежные вопросы