Данные Ember, не использующие нерегулярный маршрут для поиска, но предназначенные для createRecord

#ember.js #routes #ember-data #inflector

#ember.js #маршруты #ember-data #перегибающий

Вопрос:

Мне было интересно, сможет ли кто-нибудь помочь. Я использую неправильное имя маршрута, которое, похоже, работает при вызове createRecord в хранилище, но не при поиске.

В router.js файл, я указываю пути маршрута следующим образом:

 this.route('admin', function() {
    this.route('staff');
});

// This is so the parent route data does not display in the sub-route
this.route('admin.staff.create-staff', { path: '/admin/staff/create-staff' });
  

Затем в файле модели inflector я указываю следующие нерегулярности:

 inflector.irregular('create-staff', 'staff');
  

Теперь в маршруте, в функции модели, я указываю следующее:

 model(params) {
    var model = null;

    const id = params.id;
    if(id) {
        model = this.store.find('create-staff', id);            
    } else {
        model = this.store.createRecord('create-staff'); 
    }

    return model;
},
  

Все работает, когда я вызываю модель без каких-либо параметров запроса (т. Е. она вызывает запрос GET к конечной точке REST API по адресу …../staff /). Но когда я указываю параметры запроса, он работает некорректно и не переходит на нерегулярный путь, как указано выше (т. Е. он вызывает запрос GET к REST API по адресу ……./createStaff/{id}).

Кто-нибудь сможет помочь мне убедиться, что ‘find’ и ‘createRecord’ оба направлены на нерегулярную конечную точку ‘staff’ в REST API?

Заранее спасибо, Грэм

Комментарии:

1. Где inflector.irregular код?

2. Привет @locks, похоже, у меня проблема, когда я работаю на подуровнях. Когда я создаю адаптер как ’ember g adapter admin / staff / create-staff’, модель как ‘.. admin / staff / create-staff’, маршрут как ‘.. admin / staff / create-staff’ и шаблон как ‘.. admin / staff / create-staff’, я не могу заставить его работать. Я пробовал это с помощью inflector как ‘Inflector.inflector.irregular(‘admin / staff /create-staff’, ‘staff»), но он все равно не будет нацелен на ……/staff. Есть ли у вас какие-либо указания относительно того, какой наилучший способ приблизиться или решить проблемы, с которыми я сталкиваюсь????

3. @locks, код перегиба находится в файле инициализации. Ранее у меня это было в файле модели.