0

我对 ember.js 中的资源有疑问。

给定这些路由器:

App.Router.map ->
  @route "index", path: "/"
  @resource "transport_documents", ->
    @resource "transport_document", path: ":transport_document_id"

这条路线:

App.TransportDocumentsRoute = Ember.Route.extend
  model: -> App.TransportDocument.find()

App.TransportDocumentRoute = Ember.Route.extend
  model: (params)-> 
    App.TransportDocument.find(params.id)
  • 当我导航到/transport_documents我的服务器端调用是:/api/transport_documents,正如预期的那样
  • 当我导航到/transport_documents/1我希望这个调用完成时: /api/transport_documents/1,但事实并非如此。没有呼叫我的服务器

这是预期的情况吗?如果没有,我应该怎么做才能强制我的应用程序执行此查询?我希望在显示视图中有更多详细信息,而在索引中则更少。

谢谢

4

2 回答 2

0

params将包含您指定的动态段名称。在您的情况下,您需要使用:

model: (params)-> 
  App.TransportDocument.find(params.transport_document_id)

有关详细信息,请参阅Ember 路由指南中的此示例

于 2013-04-18T13:43:56.880 回答
0

我会保持@c4p 的答案正确,因为它对我有帮助,但问题是:

这取决于您使用的 ember 数据库版本。

请参阅此处以查看它期望您的关联模型如何格式化

于 2013-04-19T08:28:52.080 回答