我有2个模型:任务和项目,项目有多个任务。但是,如何为特定项目创建新任务?
我有这条路线:
@resource('projects', ->
@route('show', { path: '/:project_id' })
在projects / show-template中,我正在调用{{render "tasks" model.tasks}}
来显示属于项目的所有任务+一个输入助手来添加新的任务。问题是我不知道如何在createTask-action(它驻留在TasksController中)中获取项目的id。
我无法访问params,我不想在window.location上使用正则表达式来获取id。
(EmberJS 1.10.0)
答案 0 :(得分:0)
你应该尝试像
这样的东西this.store.createRecord('task', {project: this.modelFor('projects/show')});
您从projects/show
路线获取项目,并将task
的{{1}}属性设置为该对象。
答案 1 :(得分:0)
我通过将输入助手移动到Ember.Component来修复此问题,然后将其添加到projects / show-template并将项目传递给:{{add-task project=model}}
。我还将createTask() - action从TasksController移动到新组件。