我有PizzaType模型,它有一個比薩餅的嵌套集合。比薩餅系列是根據比薩類型列出的。我希望能夠點擊比薩餅集合中的披薩並顯示其屬性。Backbone.js如何檢索嵌套集合中的模型?
什麼是動態設置url params的最佳方式? 該網址不需要路徑來導航到書籤和共享,只是爲了檢索特定的資源。
我有它,這樣如果有人想要觀賞比薩鍵入URL是pizza_type/:id
:身份證是屬於比薩型我現在有它,所以如果一個比薩餅點擊ID(父模型)
在比薩餅集合(屬於比薩類型模型)中,沒有遵循比薩資源的路徑;只是頁面上的一個區域被更新。 url路徑是必需的,所以jQuery可以獲取資源來更新該區域。比薩餅的網址是pizza_types/:pizza_type_id/pizzas/:id
在這裏,:id
是屬於比薩模型的編號,而:pizza_type_id
是比薩餅系列成員共享將它們歸入集合的外鍵,屬於比薩類型模型。
當我點擊比薩餅(ID = 3),我得到"NetworkError: 404 Not Found - http://localhost:3000/pizza_types/3/pizzas"
這裏是型號和系列代號:
@Pizzeria.module "Entities", (Entities, App, Backbone, Marionette, $, _) ->
class Entities.PizzaType extends Backbone.Model
urlRoot: "pizza_types/"
# creates the nested collection
initialize: ->
@pizzas = new Entities.PizzasCollection
@pizzas.url = @urlRoot + @id + '/pizzas'
@pizzas.fetch
reset: true
parse: (response) ->
response
class Entities.PizzaTypesCollection extends Backbone.Collection
model: Entities.PizzaType
url: 'pizza_types'
parse: (response) ->
response
# Is there a way to pass in a :pizza_type_id and :id params to pass to the url() so
# that the specific pizza model can be retrieved from the collection?
class Entities.Pizza extends Backbone.Model
url: -> "pizza_types/" + 2 + "/pizzas/" + 4 # <-- Hard coded works, but how to set the params dynamically?
parse: (data) ->
data
class Entities.PizzasCollection extends Backbone.Collection
model: Entities.Pizza
url: 'pizzas'
parse: (data) ->
data
有什麼建議?這是正確的方法,我試圖做到這一點還有:
class Entities.Pizza extends Backbone.Model
urlRoot: -> "pizza_types"
# I thought I could pass these params in and fetch the correct pizza model, but not working.
fetch
pizza_type_id: pizza_type_id
id: id
reset: true
parse: (data) ->
data
PizzaType屬性帶有示例數據:
PizzaType: {
id: 2,
name: "Gourmet",
pizzas: [
0: {
id: 4,
pizza_type_id: 2
name: "gourmet pizza 1"
},
1: {
id: 5,
pizza_type_id: 2,
name: "gourmet pizza 2"
}
]
感謝您的提示。我將在9/29/13的星期天訪問我的電腦時嘗試此操作。當我嘗試時,我會給你信用。謝謝。 –