2012-03-07 4 views
2

Emberリソースを作成して、そのスキーマの値の1つを使用してクエリを送信する必要があります。しかし、それは自動的にURL「API /その他/(id)を使用してクエリを送信します、このリソースは、その「単位」をロードする必要がEmber Resource URL:IDではなく他の値を使用する方法

App.SomeModule = Ember.Resource.define(
{ 
    url: './api/some', 
    schema: 
    { 
     id: Number, 
     fodder: Number, 
     whatever: Number, 
     units: 
     { 
      type: Ember.ResourceCollection, 
      itemType: 'App.OtherModule', 
      url: './api/other/%@' 
     } 
    } 
}); 

:。

のは、私は、このリソースを定義したとしましょう

答えて

2

を代わりに関数として定義したいと思うかもしれません:

(おそらく、私はそれ以外の値を使用しています)
units: { 
    url: function() { 
    // your custom code here: 
    return '/api/other/%@'.fmt(this.get('fodder')); 
    } 
} 
+0

ありがとう、私はあなたの答えを手がかりとして使って方法を見つけることに成功しました。それはurl関数の 'this'はスキーマやクラス自体ではなく' units'を示していますので、this.get( 'fodder') 'は何も返しません。しかし、それ以上の試みでは、関数がパラメータを受け入れることが明らかになりました。パラメータは項目そのもの、この場合はApp.OtherModuleです。 'this'をこのパラメータに置き換えることで、クラス自体にアクセスすることができます。 – Stargazer

+0

私は助けてくれるとうれしいです(しかし、ラウンドアバウトの方法で);) – Josh

+0

見つけた解決策を投稿できますか?ありがとう! – Alfred

関連する問題