2014-07-06 10 views

Antwort

6

ich es in der Modelldatei platziert und es funktionierte gut:

import DS from 'ember-data'; 
import Ember from 'ember'; 

var inflector = Ember.Inflector.inflector; 
inflector.irregular('nota', 'notas'); 
inflector.singular(/nota/, 'nota'); 

export default DS.Model.extend({ 
    title: DS.attr('string'), 
    description: DS.attr('string'), 
    language: DS.attr('string'), 
    body: DS.attr('string') 
}); 
+1

Interessant, danke - ich überprüfe das ... Aber wie würde das funktionieren? Wir exportieren den Inflector in keiner Weise? – jwahdatehagh

+0

es funktioniert, danke ... – jwahdatehagh

9

ich einen Initialisierer erzeugt und diese Daten dort setzen. Dies stellt sicher, dass es vor allem, was es benötigt, lädt. Wie das Modell, der Adapter oder der Serializer.

initializers/inflector.js

import Ember from 'ember'; 
export function initialize(/* container, application */) { 
    var inflector = Ember.Inflector.inflector; 
    inflector.uncountable('aamc-pcrs'); 
} 

export default { 
    name: 'inflector', 
    initialize: initialize 
}; 
+0

Dies ist wirklich der Weg zu gehen. Die akzeptierte Antwort (im Modell) funktioniert nicht für Situationen wie Sideloading. – blimmer

0

Die Ember Guides dies deckt in Models - Customizing Adapters:

Erstellen Sie die Datei app/models/custom-inflector-rules.js:

import Inflector from 'ember-inflector'; 

const inflector = Inflector.inflector; 

inflector.irregular('formula', 'formulae'); 
inflector.uncountable('advice'); 

// Meet Ember Inspector's expectation of an export 
export default {}; 

Dann in app/app.js die Zeile:

import './models/custom-inflector-rules'; 

Und wenn Sie dies in einem Komponententest für einen Serializer/Adapter verwenden möchten, können Sie einfach die Datei custom-inflector-rules in den Test importieren.