基于此 railscast,我一直致力于使用 rails 和 ember 实现标记:http: //railscasts.com/episodes/382-tagging
我已经设置了一个带有tagList
属性的 ember-data 模型,我想在每次标签更改时设置它(使用以下setTagList
方法):
App.Post = DS.Model.extend({
tags: DS.hasMany('App.Tag'),
tagList: DS.attr('string'),
setTagList: function() {
if(this.get('tags.length')) {
var tagList = this.get('tags').map(function(tag) {
return tag.get('name');
}).join(', ');
this.set('tagList', tagList);
}
}.observes('isLoaded', 'tags', 'tags.@each.name')
});
我遇到的第一个错误是:
Uncaught TypeError: Cannot call method 'send' of null
我相信这是观察tags
和的结果tags.@each.name
。我还读到观察嵌套属性可能存在问题。
其次,通过删除这些依赖项 leave .observes('isLoaded')
,会引发以下错误:
Uncaught Error: Attempted to handle event `materializingData` on <App.Post:ember283:1> while in state rootState. Called with undefined
这是由对this.get('tags')
.
见 JSBin:http: //jsbin.com/iyoyax/7/edit
谁能建议我如何观察关联模型以在同一模型上设置另一个属性?
提前致谢