0

我最近发布了一个关于访问 Rails 关系的问题。答案效果很好,嵌入记录对于任何单级嵌套属性都很好(预览问题中的示例是 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

当我的ember路由如下

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

知道为什么它默认为标准的非嵌套路由吗?

4

1 回答 1

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'})
于 2013-06-24T17:51:02.350 回答