2014-01-30 2 views
0

Скажем, у меня есть модель DS.Store под названием «userPreferences». Скажем, у меня есть бэкэнд API, возвращающий SINGLE «НайтиСтраница» запись:Данные Ember: интерполированная плюрализация имени модели

{"userPreferences":{"userID":"7","latitude":null,"longitude":null}} 

у меня есть маршрут, который я хочу использовать эту модель:

App.SettingsRoute = Ember.Route.extend({ 
    model: function() { 
     myModel = this.store.find('userPreferences', 7); 
     return myModel; 
    } 
}); 

Если я пытаюсь сделать это, я получите следующую ошибку от ember:

Error: No model was found for 'userPreference' 

Как указать, что я уже возвращаю единственную форму?

ответ

0

Что вы планируете назвать коллекцией userPreferences? Вот, я звоню их «manyUserPreferences», но я хотел бы предложить что-то лучше :) Вы можете настроить так, как угасающий понимает названия модели используя Inflector:

Ember.Inflector.inflector.irregular('userPreferences', 'manyUserPreferences'); 
1

Если вы никогда не планируете обращаться к коллекции НайтиСтраницу, Стив Х. предложил вам, возможно, потребуется, вы можете определить фразу как несчетное:

Ember.Inflector.inflector.uncountable('userPreferences'); 

Просто будьте осторожны, вы, возможно, потребуется также определить:

Ember.Inflector.inflector.uncountable('user_preferences'); 

Поскольку в настоящее время инфлектор не предполагает, что вы хотите, чтобы оба были определены. Версия подчёркивания иногда используется ember-данными при обращении к свойствам модели во время сериализации. Я всегда определяю как версию camelCase, так и подчеркивание.

Я открыл вопрос об этом на ember-inflector.

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