模型钩子上的查找方法未使用 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- 具有此属性的助手相应地反映更改。
对于 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- 具有此属性的助手相应地反映更改。