Изменение POST-адреса в Ember JS - PullRequest
0 голосов
/ 31 октября 2018

Не могли бы вы объяснить, как использовать urlForCreateRecord в адаптере для изменения URL-адреса записи? У меня есть два сотрудника модели и задачи с отношениями один ко многим.

//Employee model
import DS from 'ember-data';

export default DS.Model.extend({
    empId : DS.attr(),
    password : DS.attr(),
    email : DS.attr(),
    tasks : DS.hasMany('task')
});

//Task model
import DS from 'ember-data';

export default DS.Model.extend({
    name : DS.attr(),
    description : DS.attr(),
    startDate : DS.attr(),
    endDate : DS.attr(),
    employee : DS.belongsTo("employee")
});

Теперь я хочу создать запись задачи. Я создаю запись задачи, как это

let self=this;
let employee=this.store.peekRecord("employee",1);
let task=this.store.createRecord("task",{
    name:self.get("name"),
    description:self.get("description"),
    startDate:self.get("startDate"),
    endDate:self.get("endDate"),
    employee:employee
});
task.save();

Запрос на публикацию должен идти по URL-адресу, например / employee /: employee_id / tasks. Но URL создается как / задачи. Как мне добиться необходимого почтового адреса?

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете настроить адаптер вашей модели задачи.

ember generate adapter task

После этого вы можете переопределить один или несколько urlFor-методов

//app/adapters/task.js
import ApplicationAdapter from './application';

export default ApplicationAdapter.extend({
  urlForCreateRecord(modelName, snapshot) {
    return 'employee/7/tasks';
  }
});
...