我有一个包含以下字段的 Post 模型:
BlogApp.Post = DS.Model.extend({
author: DS.attr('string'),
title: DS.attr('string'),
preamble: DS.attr('string'),
content: DS.attr('string'),
created: DS.attr('date'),
comments: DS.hasMany('BlogApp.Comment'),
lastUpdate: DS.attr('date')
});
渲染后,而不是 Post.content,结果如下:
<BlogApp.Post:ember272:1>
其他字段渲染正常。我想content
这与某些内部属性相冲突。我有几个问题:
- 当 REST API 的名称与 Ember 内部冲突时,是否有任何解决方法?
- 还有其他我应该注意的禁止属性名称吗?
[更新]
名称冲突与控制器有关,而不是与模型冲突。它不是一个明确的列表,但请注意其他常见的数据库列名称,例如:
- 模型
- 交易
- 是新的
- is_deleted
- 店铺
- 错误
我猜 Ember 开发人员不像这个可怜的 pythonist 那样害怕命名空间相关的错误。
顺便说一句,Angular.js 的人说得对:他们总是为 API 属性和方法添加前缀,$
从而有效地防止这种错误。