誰かが助けてくれるだろうかと思っていました。検索ではなくストアで 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.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;
},
クエリ パラメータなしでモデルを呼び出すと、すべてが機能します (つまり、...../staff/ で REST API エンドポイントへの GET 要求を呼び出します)。しかし、クエリ パラメーターを指定すると、正しく機能せず、上記で指定した不規則なパスに移動しません (つまり、REST API への GET 要求を ......./createStaff/{id} で呼び出しています)。
「find」と「createRecord」の両方がREST APIの不規則な「staff」エンドポイントに向けられていることを確認するのを手伝ってくれる人はいますか?
前もってありがとうグラハム