我最近发布了一个有关访问Rails关系的问题here。答案很有效,嵌入记录对任何单级嵌套属性都有效(预览问题中的示例是1个群组有很多引导)。
我无法工作的是增加第二级嵌套(一个队列有许多靴子,每个靴子都有许多集线器)。我的store.js.coffee文件中有以下扩展名。
Plato.Adapter = DS.RESTAdapter.extend()
Plato.Store = DS.Store.extend(adapter: Plato.Adapter)
Plato.Adapter.map "Plato.Cohort",
boots:
embedded: "always"
Plato.Adapter.map "Plato.Boot",
hubs:
embedded: "load"
有没有一种简单的方法可以实现这一点(也就是说,上面的代码不起作用)?
我遇到的一个问题是在我运行
时在我的控制台中var hub = App.Hub.find(1)
我收到以下错误
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:3031/hubs/1
当我的余烬路由如下
App.Router.map ()->
this.resource('cohorts', ->
this.resource('cohort', {path: '/:cohort_id'}, ->
this.resource('boot', {path: '/boots/:boot_id'}, ->
this.resource('hub', {path: '/hubs/:hub_id'})
)
)
)
我的rails路由器
resources :cohorts do
resources :boots do
resources :hubs
end
end
知道它为什么违反标准的非嵌套路线?
答案 0 :(得分:1)
尝试从嵌套路径路径中删除/
前缀。
App.Router.map ()->
this.resource('cohorts', ->
this.resource('cohort', {path: ':cohort_id'}, ->
this.resource('boot', {path: 'boots/:boot_id'}, ->
this.resource('hub', {path: 'hubs/:hub_id'})