2016-11-25 9 views
0

私はemberで新しく、最初のアプリとして少しのオンラインショップを構築しようとしています。 私は、製品概要として "すべての製品"を受け取ることができますが、特定の製品ではなく、IDで提供されます。findRecordで特定の項目を取得する

私はrouter.jsに次き:

Router.map(function() { 
    this.route('products'); 
    this.route('product', {path: 'products/:product_id'}); 
}); 

マイproducts.js(ウィッヒの作品):

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model(){ 
    return this.get('store').query('product', {}); 
    } 
}); 

とproduct.js(ウィッヒは、問題を発生し):

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model(params){ 
    return this.store.findRecord('product', params.product_id); 
    } 
}); 

プロジェクトは、https://github.com/hatchling-shop/hatchling/tree/master/EmberHatchling

で利用することができます

多分あなたは私をここで助けてくれるかもしれません。 ありがとうございます! :)

+0

基本的には、空のオブジェクトを渡す場合は 'findAll'のためにクエリを交換したいと思います。' findRecord'のようにエラーメッセージが表示されますか?ネットワークリクエストはありますか? –

答えて

1

コードを実行した後に、APIにProduct.findById()の問題があり、Emberに問題があるようです。以下の方法で

Product.findById(id, function(id, err, product) { 
    if (err) { 
     res.send(err); 
    } 
    res.json({product: product}); 
}); 

コールバック内のparamsは、代わりにあなたがidを削除しに変更する必要があり、間違っている:

Product.findById(id, function(err, product) { 
    if (err) { 
     res.send(err); 
    } 
    res.json({product: product}); 
}); 

・ホープ、このことができます。

+0

うわー、これは私の問題を解決!どのようにして解決に至りましたか?私はほぼ一日を探しました。 – LilK3ks

関連する問題