Ember数据:模型名称的插值复数

时间:2014-01-30 23:25:08

标签: ember.js ember-data

假设我有一个名为“userPreferences”的DS.Store模型。假设我有一个后端API返回SINGLE“userPreferences”记录:

{"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'

如何指定我已经返回单数形式?

2 个答案:

答案 0 :(得分:1)

如果您没有计划引用userPreferences的集合,正如Steve H.建议您可能需要的那样,您可以将该短语定义为不可数:

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

请注意,您可能还需要定义:

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

因为目前变形器并不假设你想要两者都定义了。在序列化期间引用模型属性时,下划线版本有时由ember-data使用。我总是定义camelCase和下划线版本。

我在ember-inflector上打开了一个关于此事的问题。

答案 1 :(得分:0)

您打算将userPreferences的名称称为什么?在这里,我称之为“manyUserPreferences”,但我建议更好的东西:)你可以使用Inflector自定义Ember理解模型名称的方式:

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