作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 Ember Data (1.0.0-beta.7) 与 DS.RESTAdapter
和西类牙语 API 一起使用。我有一个模型调用 App.ModuloPerfil
表示三元多对多关系:
App.Perfil = DS.Model.extend({
nombre: DS.attr(),
tipo: DS.attr(),
modulosPerfiles: DS.hasMany('moduloPerfil', { async: true })
});
App.Modulo = DS.Model.extend({
nombre: DS.attr(),
alias: DS.attr(),
tipo: DS.attr(),
modulosPerfiles: DS.hasMany('moduloPerfil', { async: true })
});
App.ModuloPerfil = DS.Model.extend({
enabled: DS.attr(),
perfil: DS.belongsTo('perfil', { async: true }),
modulo: DS.belongsTo('modulo', { async: true })
});
我已经定义了一些变形规则来处理西类牙语复数:
Ember.Inflector.inflector.irregular('perfil', 'perfiles');
Ember.Inflector.inflector.irregular('moduloPerfil', 'modulosPerfiles');
当我向 /api/perfil/1
发出 API 请求时,我得到以下响应:
{"perfil": {id: 1, nombre: "Perfil investigador", tipo: "Investigador", modulosPerfiles: [1,2]}}
到目前为止似乎一切正常,但是当我检查客户端对 API 的调用时,我发现当它尝试检索 de moduloPerfil
元素时,url 是:
GET /api/moduloPerfils?ids[]=1&ids[]=2
它使用“moduloPerfils”,英文复数形式,而不是变形器中定义的不规则规则。
我已经尝试使用 Ember.Inflector.inflector.irregular('modulo-perfil', 'modulos-perfiles')
但我也不起作用。
不规则规则必须如何定义?
最佳答案
经过更多测试后,我发现了错误。这不是规则问题,问题是 Ember.Inflector
规则必须在 Ember.Application.create
我在做:
var App = Ember.Application.create();
Ember.Inflector.inflector.irregular('perfil', 'perfiles');
Ember.Inflector.inflector.irregular('moduloPerfil', 'modulosPerfiles');
正确的顺序是:
Ember.Inflector.inflector.irregular('perfil', 'perfiles');
Ember.Inflector.inflector.irregular('moduloPerfil', 'modulosPerfiles');
var App = Ember.Application.create();
抱歉,这是一个愚蠢的错误。
已修复: 最后这不是错误,代码是正确的。规则可以在 App 创建之前或之后声明。原始代码没有错误,所以问题可能是我没有看到的另一件事。
关于ember.js - Ember 屈折词和带有两个词名称的西类牙语复数形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570894/
我是一名优秀的程序员,十分优秀!