これが私の状況です。
// model/price-source.js
export default DS.Model.extend({
price: DS.attr('number'),
product: DS.belongsTo('product')
)};
// model/product.js
export default DS.Model.extend({
priceSources: DS.hasMany('price-source')
)};
私の製品テンプレートでは、次のように最低価格のソースを簡単に参照できるようにしたいと考えています。
// templates/products.hbs
{{#each model as |product|}}
<span>{{product.cheapestSource.price}} €</span>
{{/each}}
CheapSource 計算プロパティを設定するにはどうすればよいですか? 私は次のようなことをしなければならないと思います:
// model/product.js
cheapestSource: Ember.computed('priceSources', function() {
let sources = this.get('priceSources');
let cheapest = sources.get('firstObject');
// iterate over sources and set cheapest to whichever has the lowest price
return cheapest;
})
問題は、(handlebars {{#each}} ヘルパーを使用する以外に) hasMany 関係をループする方法と、計算されたプロパティが別のモデルからの単一の Ember データ レコードで構成できるかどうかがほとんどわからないことです。sources.@each はどういうわけかこれに影響しますか? もしそうなら、どのように?
どんな助けやアイデアも大歓迎です、ありがとう。