我在/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,以监听/campaigns/{campaignId}/memberships
我在ember中创建了相应的嵌套路径
i.e. /campaigns/{campaignId}/memberships
e.g. /campaigns/campaign-1/memberships
答案 0 :(得分:1)
两种可能的选择:
如果您使用的是ember数据,请定义一个包含与您的API端点匹配的字段的模型,并使用this.store.createRecord(...)
创建模型。默认情况下,ember-data会尝试根据某些assumptions“猜测”该网址。由于您的假设不匹配,您需要customize the url in the adapter。
请注意,在ember应用程序中定义URL是不够的:如果您希望不同计算机上的两个用户看到彼此保存的数据,则需要一个带有RESTful API的后端服务器,与您的ember应用程序分开。< / p>