2013-04-18 5 views
0

У меня проблема с ресурсами в ember.js.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, но это не так. нет вызовов на мой сервер

Ожидаемая ситуация? Если нет, что мне делать, чтобы заставить приложение делать этот запрос? Я хочу больше деталей в представлении представления, и меньше в индексе.

благодаря

ответ

0

params будет содержать динамическое имя сегмента коммуникатора. В вашем случае вы должны использовать:

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

См this example в руководстве маршрутизации Ember для получения дополнительной информации.

+0

изменилось. по-прежнему нет вызовов сервера, если я НАВИГАЕТ к этому пути, переходящему из индекса. Он выполняет вызов сервера, если i ACCESS напрямую связан с url '/ transport_documents/1' –

+0

, попробуйте вызвать' App.TransportDocument.find (1) 'вручную и посмотреть, попадает ли он на ваш сервер – CraigTeegarden

+0

. (отредактировал комментарий раньше). Может быть, он думает, что у меня уже есть все данные, которые мне могут понадобиться? –

0

Я буду держать @ C4P ответ, как правильно, потому что это мне помогло, но вот беда:

Это зависит от того, какая версия библиотеки уголек-данных вы используете.

См Here, чтобы увидеть, как он ожидает, что ваши связанные модели, которые будут отформатированы

Смежные вопросы