我有這樣路由器在我的應用程序:嵌套資源路由已經觸發父資源路線
TravelApi.Router.map ->
@resource 'stars', ->
@resource 'star', { path: '/:star_id' }
當我去http://localhost/#/stars
我在Web控制檯看到有一個請求
GET http:// localhost:3000/stars
而當我去http://localhost/#/stars/1
我在Web控制檯看到有兩個請求
GET HTTP://本地主機:3000 /顆
GET HTTP://本地主機:3000 /明星/ 1
問題:爲什麼在第二種情況下有兩個請求?
星級路線:
TravelApi.StarRoute = Ember.Route.extend(
model: (params) ->
TravelApi.Star.find(params.star_id)
)
TravelApi.StarsRoute = Ember.Route.extend(
model: ->
TravelApi.Star.find()
)
而且我模板: application.js.hbs.hamlbars
= hb "linkTo 'stars'" do
stars
%div= hb 'outlet'
stars.js.hbs.hamlbars
%ul
=hb "each star in controller" do
%li<
=hb 'star.name'
個
star.js.hbs.hamlbars
Star:
= hb 'name'
商店 .js.coffee
TravelApi.store = DS.Store.create(
revision: 11
adapter: DS.RESTAdapter.create()
)
它真的不應該有第二個要求,如果你已經在'Store'該記錄。你可以添加'Store'的定義嗎?你有一個自定義主鍵嗎?此外,在StarRoute中,嘗試將其更改爲App.store.find('App.Star',params.star_id)'。不知道它是否會有所不同,但試試 – MilkyWayJoe 2013-02-15 17:04:21
現在你可以看到我的商店定義。此外,我將json中的主鍵從** _ id **更改爲** id **(因爲mongoid)。我還將outlet添加到stars.js.hdb.hamlbars。現在我只有在第一次資源加載時有兩個請求,但是如果我之前加載星星比每次加載特殊星形時都只有一個請求(通過ID)*** GET http:// localhost:3000/stars *** – freemanoid 2013-02-16 13:59:35