2014-10-02 2 views
0

я определил мое RESTAdapter следующиеDS.RESTAdapter ориентируется локальным вместо указанного узла

Metabuyer.RequisitionsAdapter = DS.RESTAdapter.extend({ 
    namespace: "apps/purchasing", 
    host: 'http://metabuyer.apiary-mock.com' 
}); 

Metabuyer.RequisitionsSerializer = DS.RESTSerializer.extend({ 
    normalizePayload: function(payload) { 
     return payload['data']; 
    } 
}); 

при загрузке страницы, я получил эту ошибку при слежении

GET http://localhost:9000/requisitions 404 (Not Found) 

это не предназначаться

http://metabuyer.apiary-mock.com/apps/purchasing/requisitions 

До этого я определяю свои рули, маршрутизатор, маршрут, модель, st руда и адаптер с «реквизитом» единственного (без прилагаемых), он отлично работает.

это целенаправленные

http://metabuyer.apiary-mock.com/apps/purchasing/requisitions 

это на самом деле оставил мне интересно, почему RESTAdapter добавить в «S» (поборы) в конце URL, но потому, что он работает (а также, что это URL с притворным API), я did not действительно забочусь об этом слишком много.

Теперь я хочу следовать соглашению об именах, поэтому я меняю имя своих рулей, маршрутизатора, маршрута, модели, магазина и адаптера на «реквизиции», а затем происходит ошибка.

Спасибо за вашу помощь в передовых

ответ

0

Ваш вопрос, потому что адаптер и сериализатор не должен быть множественными см: http://emberjs.com/guides/models/customizing-adapters/

Это должно быть Metabuyer.RequisitionAdapter и Metabuyer.RequisitionSerializer

По данным Ember по умолчанию будет pluralize имя модели для использования для пути. Таким образом, для Requisition модели он будет делать запрос на /requisitions

Если вы хотите отменить, что вы можете изменить pathForType свойства на DS.RESTAdapter и вернуть то, что путь, который вы хотите.

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