2014-07-06 14 views

risposta

6

ho messo nel file del modello e ha funzionato bene:

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

Interessante, grazie - Lo controllerò ... Ma come funzionerebbe? Non esportiamo in nessun modo l'Inflector? – jwahdatehagh

+0

funziona, grazie ... – jwahdatehagh

9

ho generato un inizializzatore e mettere questi dati lì. Questo assicura che carichi prima di tutto ciò che potrebbe averne bisogno. Come il modello, l'adattatore o il serializzatore.

inizializzatori/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

Questa è davvero la strada da percorrere. La risposta accettata (facendolo nel modello) non funzionerà in situazioni come il sideloading. – blimmer

0

Le guide Ember copre questo in Models - Customizing Adapters:

Creare il file 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 {}; 

Poi nel app/app.js aggiungere la riga:

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

E se si desidera utilizzarlo in un test dell'unità per un serializzatore/adattatore, è possibile importare il file custom-inflector-rules nel test.