モデル内の特定のフィールドを持つ特定のルートにアクセスしようとしています。IDなしルートページ - 別のフィールドの使い方は?
例: www.myPage.com/wedding/couple1 www.myPage.com/wedding/couple2
私はエンバーのコミュニティユースIDで見つかったすべての例が、私は(別のものを使用しようとしています私はユニークであることを確かめます)。
マイルートの設定:ルートへ
Router.map(function() {
this.route('create-wedding');
this.route('weddings');
this.route('wedding', { path: 'wedding/:pageName' });
});
マイリンク:のレコードを取得する方法を、
model(params) {
return this.store.query('wedding', { orderBy: 'pageName', equalTo: params.pageName });
}
しかし:
{{#link-to 'wedding' wedding.pageName}}Access{{/link-to}}
レコードを取得してください私のルートモデルで特定のパラメータ "pageName"?ユーザーがURLから直接ページにアクセスしたときに同じレコードを取得する方法は?あなたの非idフィールドは、(すなわち、バックエンドに一意性を施行)、本当に本当にユニークである場合は、事前
としてあなたのURLに直接アクセスするようにセットアップされています。シリアライザをRestで構成する方法(私が間違っていない場合、FirebaseはRestを使用します)。 –
簡単に、上のコードをJSONSerializerではなくRESTSerializerに変更します。 https://emberjs.com/api/ember-data/2.14/classes/DS.RESTSerializer/properties/primaryKey?anchor=primaryKey – handlebears
私が変更を加えたとき、私はエラーを受け取りました:アサーション失敗:normalizeResponse有効なJSON APIドキュメントを返す必要があります。 \t *「データ」、「エラー」、「メタ」のいずれかのキーが存在する必要があります。 –