Я пытаюсь создать страницу списки что-то вроде этого:ember.js: Как отображать индекс записей и ссылок без sideloading
{{#each task in controller}}
{{#linkTo 'project' task.project}}
{{task.project.name}}
{{/linkTo}}
{{/each}}
Вопрос заключается в том, что я не хочу иметь предварительно загрузите каждый проект, связанный с каждой задачей, так как мне вряд ли понадобятся все они, и я в конечном итоге запутался в объединениях, сходящих вниз по дереву зависимостей для проекта. Вместо этого я пытаюсь сделать что-то вроде этого:
{{#each task in controller}}
{{#linkTo 'project' task.project_params}}
{{task.project_name}}
{{/linkTo}}
{{/each}}
И тогда модель задачи:
App.Task = DS.Model.extend
project_id: DS.attr('number')
project_name: DS.attr('string')
project_params: (->
{ id: @get('project_id') }
).property('project_id')
Это решение фактически работает на tasks/index
странице, как ожидалось. Я вижу название проекта, и ссылка идет на проект. Но тогда на странице проекта проект, похоже, не считает, что он связан с какими-либо задачами. Он попадает на сервер, и сервер отвечает проектом и связанными с ним задачами. Но, похоже, он не обновляет проект новыми данными. Что я делаю не так?
Конечно, но если вы действительно хотите определить взаимосвязь между задачами и проектами, вы должны иметь возможность использовать attribTo/hasMany и '# link-to 'project', task.project'. – gerry3
Однако я не могу понять это сейчас, и я сдаюсь. – gerry3