post 如何到 emberjs 中的嵌套路由
how do post to a nested route in emberjs
我在 /campaigns/{show}
有一条路线,它显示一个带有操作按钮的页面 'join campaign'
i.e. /campaigns/{campaignId}
e.g. /campaigns/campaign-1
/apps/templates/campaigns/show.hbs:
...
<button type="button" {{action "joinCampaign"}}>join campaign</button>
...
/apps/controllers/campaigns/show.js:
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
joinCampaign: function() {
// how to do a JSONAPI RESTful POST to /campaigns/{campaignId}/memberships ?
}
}
});
单击 'join campaign'
按钮后,我希望对休息服务执行 JSONAPI Restful POST 侦听 POST 到 /campaigns/{campaignId}/memberships
我已经在ember
中创建了相应的嵌套路由
i.e. /campaigns/{campaignId}/memberships
e.g. /campaigns/campaign-1/memberships
两个可能的选择:
如果您使用的是 ember 数据,请定义一个包含与您的 API 端点匹配的字段的模型,并使用 this.store.createRecord(...)
to create the model. By default, ember-data will try to "guess" the URL based on some assumptions. Since your assumptions do not match, you will need to customize the url in the adapter.
如果你没有使用ember-data,你可以使用Ember.$.ajax
(一个方便的内置alias for jquery)手动构建请求。
请注意,在您的 ember 应用中定义 URL 是不够的:如果您希望不同计算机上的两个用户看到彼此保存的数据,您将需要一个后端服务器RESTful API,与您的 ember 应用分开。
我在 /campaigns/{show}
有一条路线,它显示一个带有操作按钮的页面 'join campaign'
i.e. /campaigns/{campaignId}
e.g. /campaigns/campaign-1
/apps/templates/campaigns/show.hbs:
...
<button type="button" {{action "joinCampaign"}}>join campaign</button>
...
/apps/controllers/campaigns/show.js:
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
joinCampaign: function() {
// how to do a JSONAPI RESTful POST to /campaigns/{campaignId}/memberships ?
}
}
});
单击 'join campaign'
按钮后,我希望对休息服务执行 JSONAPI Restful POST 侦听 POST 到 /campaigns/{campaignId}/memberships
我已经在ember
中创建了相应的嵌套路由i.e. /campaigns/{campaignId}/memberships
e.g. /campaigns/campaign-1/memberships
两个可能的选择:
如果您使用的是 ember 数据,请定义一个包含与您的 API 端点匹配的字段的模型,并使用
this.store.createRecord(...)
to create the model. By default, ember-data will try to "guess" the URL based on some assumptions. Since your assumptions do not match, you will need to customize the url in the adapter.如果你没有使用ember-data,你可以使用
Ember.$.ajax
(一个方便的内置alias for jquery)手动构建请求。
请注意,在您的 ember 应用中定义 URL 是不够的:如果您希望不同计算机上的两个用户看到彼此保存的数据,您将需要一个后端服务器RESTful API,与您的 ember 应用分开。