模型钩子上的查找方法未使用 link 触发 - 为此

find method on model hook not firing with link-to this

对于 CompaniesRoute,我为每个项目呈现 links:

{{#link-to 'company' id}}The name should change here:{{name}}{{/link-to}}

我有一个 (CompanyRoute) 路由,它呈现一个模板来编辑对象。 模型挂钩上的"find"方法(AJAX请求)被调用。

但是,如果我在 CompanyController (ObjectController) 中编辑对象,它不会反映回 CompaniesRoute (CompaniesController) 中的项目。

我在路线上的理解是模型钩子只有在它不知道模型时才会被调用。

所以当我这样做时:

{{#link-to 'company' this}}The name should change here:{{name}}{{/link-to}}

现在它可以工作了,现在当我进入编辑模式时名称(和任何其他相关属性)会发生变化。

但是,现在的问题是未调用 CompanyRoute 模型挂钩上的 "find" 方法(AJAX 请求)。它假定模型已经存在,因此它仅使用现有模型,在 CompaniesRoute 模型挂钩上调用 "all" 方法时使用的 有限属性

我的问题是如何解决这个问题,以便在我使用后者时调用(查找方法)({{#link-to 'company' this}} ) link-方法?

注意:我也在 Router.map 上使用嵌套资源。即:

this.resource('companies', function() {
    this.resource('company', {path:':company_id'});
}

注意 2:我没有使用 Ember 数据

玩了之后发现我必须在 CompanyRoute 上添加 setupController:

setupController: function(controller, model) {
    controller.set('model', App.CompanyAdapter.find(model.id));
    this._super(controller, model);
}

现在每次都会触发请求并根据 link- 具有此属性的助手相应地反映更改。