2014-07-13 95 views
2

我试图创建一个inflector规则,指定单数的标准标准。在JavaScript控制台中,我能得到它像这样工作:Ember.js inflectors - 他们去哪里?

inflector = new Ember.Inflector(Ember.Inflector.defaultRules); 
inflector.singularize('criteria') // => "criterium" 
inflector.irregular('criterion', 'criteria') 
inflector.singularize('criteria') // => 'criterion' 

这是我用来尝试创建一个变形器规则行:

Ember.Inflector.inflector.irregular('criterion', 'criteria') 

// using a regex 
Ember.Inflector.inflector.irregular(/ion$/, 'ia') 

不幸的是,我不断收到错误在JS控制台:

Error: No model was found for 'reviewCriterium' 

当使用正则表达式表达偏转规则,我得到的错误Uncaught TypeError: undefined is not a function

此外,谷歌搜索Ember inflectors后,我找不到答案,甚至没有从EmberJS指南。我试图将它们放在ApplicationAdapter之前和之后都无济于事。

我在做什么错?我应该在哪里放置它们?感谢任何帮助家伙!

回答

2

于是立即之后我问这个问题,我找到了答案,以我的问题:

Ember.Inflector.inflector.singular(/ia$/, 'ion') 

这解决了问题。我在Ember.Application.create声明之后放置这个。我不知道这是否是放置它的最佳地点,但它是有效的。

+0

这对我工作,谢谢! :)如果其他人正在寻找这方面的信息,请查看此页面:http://guides.emberjs.com/v1.12.0/models/the-rest-adapter/#toc_pluralization-customization – blong