Ember.js 如何在emberjs中发布到嵌套路由

Ember.js 如何在emberjs中发布到嵌套路由,ember.js,ember-data,Ember.js,Ember Data,我在/magnities/{show}上有一个路由,它显示一个带有操作按钮“join campaign”的页面 /应用程序/模板/活动/show.hbs: ... <button type="button" {{action "joinCampaign"}}>join campaign</button> ... 单击“join campaign”按钮后,我希望对rest服务执行JSONAPI Restful POST,以侦听/campaigns/{campaignId

我在/magnities/{show}上有一个路由,它显示一个带有操作按钮“join campaign”的页面

/应用程序/模板/活动/show.hbs:

...
 <button type="button" {{action "joinCampaign"}}>join campaign</button>
...
单击“join campaign”按钮后,我希望对rest服务执行JSONAPI Restful POST,以侦听/campaigns/{campaignId}/memberships的POST

我已经在ember中创建了相应的嵌套管线

i.e. /campaigns/{campaignId}/memberships
e.g. /campaigns/campaign-1/memberships
两种可能的选择:

如果使用的是ember数据,请使用与API端点匹配的字段定义模型,并使用创建模型。默认情况下,余烬数据将尝试根据一些信息猜测URL。由于您的假设不匹配,您将需要

如果您没有使用ember数据,那么可以使用ember.$.ajax来手动构造请求,这是一个方便的内置函数


请注意,在您的ember应用程序中定义URL是不够的:如果您想让不同计算机上的两个用户看到彼此保存的数据,您需要一个后端服务器,该服务器带有RESTful API,与您的ember应用程序分离。

只需创建一个成员资格记录并覆盖适配器即可。
import Ember from 'ember';

export default Ember.Controller.extend({
  actions: {
    joinCampaign: function() {
      // how to do a JSONAPI RESTful POST to /campaigns/{campaignId}/memberships ?
    }
  }
});
i.e. /campaigns/{campaignId}/memberships
e.g. /campaigns/campaign-1/memberships