それ自体 (依存オブジェクト) に関連する多対多のモデルがあります。Ember.Select
オブジェクト間の関係を設定するために使用したい。ただし、すべてのオブジェクトが ralted されるわけではないため、それらを 2 回フィルタリングする必要があります。
- 特定のフィールド値を持っている
- id !== 現在のオブジェクトの ID
テンプレートは次のとおりです。
{{view Em.Select
contentBinding="others"
multiple="true" }}
JS CoffeeScript コードは次のとおりです。
App.Monster = DS.Model.extend
location: DS.belongsTo('App.Location')
requirements: DS.hasMany('App.Monster')
App.LessonEditController = Em.ObjectController.extend
...
others: (->
_this = this
App.Monster.find(location: this.get('model').get('location').get('id')).rejectProperty('id', this.get('model').get('id'))
).property()
問題は、find()
怠け者か何かに見えることです。rejectProperty を削除した場合にのみ機能するため、フィルタリングは 1 つだけです。両方を行う方法は??