मैं वास्तविक रिकॉर्ड प्राप्त किए बिना संबंधित आईडी आईडी लाने की कोशिश कर रहा हूं। मेरा JSON एपीआई संबंधित संबंधों के लिए आईडी लौटाता है।रिकॉर्ड प्राप्त करने के बिना आईडी प्राप्त करें
मैं है निम्नलिखित मॉडल
App.Recipe = DS.Model.extend(
title: DS.attr()
ingredients: DS.hasMany('ingredient', async: true)
)
App.Ingredient = DS.Model.extend(
recipe: DS.belongsTo('recipe')
product: DS.belongsTo('product', async: true)
)
App.Product = DS.Model.extend(
title: DS.attr()
)
यह मेरा मार्ग है:
मैं खोजने की कोशिश कर रहा हूँ:
App.RecipeIndexRoute = Ember.Route.extend(
model: (args) ->
@store.find('recipe', args.recipe_id)
)
यह मेरा नियंत्रक है इस नियंत्रक के भीतर उत्पाद आईडी।
App.RecipeIndexController = Ember.ObjectController.extend(
hasRecipeInCart: null
actions:
toggleCart: ->
@content.get('ingredients').then((ingredients) =>
# how do I get product id here, without lookup up the product relation?
# this 'get' makes Ember call: /api/v1/products/1
# I simply want the product ID (in this case 1), without having to call the server again.
ingredient.get('product').then((product) =>
product.id # => 1
)
मेरे JSON इस तरह दिखता है:
HTTP GET:/API/v1/व्यंजनों/1
{
"recipe": {
"id":1,
"title":"Recipe 1",
"ingredients":[2,1]
}
}
HTTP GET:/API/v1/सामग्री आईडी [] = 2 & आईडी [] = 1
{
"ingredients": [
{
"id":2,
"recipe":1,
"product":1
},
{
"id":1,
"recipe":1,
"product":2
}
]
}
कि भी सर्वर के लिए एक कॉल से चलाता देखें। मैंने इस कोड का उपयोग किया: @ content.get ('अवयव')। फिर ((सामग्री) => सामग्री .forEach ((घटक, सूचकांक, संख्यात्मक) => productId = ingredient.toJSON()। उत्पाद # यह पंक्ति ट्रिगर्स सर्वर पर कॉल। – Martin
यह ईडी में एक बदसूरत कार्यान्वयन है, मुझे पीआर करने की आवश्यकता हो सकती है या यह पता लगाना चाहिए कि यह जेसन के लिए मॉडल क्यों ला रहा है। – Kingpin2k
उत्पाद आईडी को इस तरह प्राप्त करना संभव है: ingredient.get ('डेटा ') .product.id या ingredient._data.product.id – Martin