id
で指定されたレコードをデータベースから完全に削除し、購読しているソケットに通知します。
DELETE /:model/:id
これは、**id** パラメータに一致するレコードを削除し、削除されたインスタンスを表す JSON 辞書で応答します。指定された **id** に一致するモデルインスタンスが存在しない場合は、404
が返されます。
さらに、レコードルームに登録されているすべてのソケットに destroy
イベントが公開され、現在レコードに登録されているすべてのソケットはそのレコードから登録解除されます。
パラメータ | 型 | 詳細 |
---|---|---|
model | 包含モデルのidentity。 例: 'purchase' (/purchase/7 の場合) |
|
id (必須) |
削除するレコードの主キー値。パスで指定します。 例: '7' (/purchase/7 の場合)。 |
Pinkie Pieを削除
DELETE /user/4
{
"name": "Pinkie Pie",
"hobby": "kickin",
"id": 4,
"createdAt": 1485550644076,
"updatedAt": 1485550644076
}
アプリケーションで WebSockets を有効にしている場合、削除されたレコードに登録しているすべてのクライアントは、イベント名がモデルの identity(例:user
)であり、「message」が以下のフォーマットである通知を受け取ります。
verb: 'destroyed',
id: <the record primary key>,
previous: <a dictionary of the attribute values of the destroyed record (including populated associations)>
例えば、上記の例を続けると、User
#4 に登録しているすべてのクライアント(リクエストを行っているクライアントを除く)は、以下のメッセージを受け取ることがあります。
id: 4,
verb: 'destroyed',
previous: {
name: 'Pinkie Pie',
hobby: 'kickin',
createdAt: 1485550644076,
updatedAt: 1485550644076
}
削除されたレコードが他のレコードへのリンクを持っていた場合、追加の通知がいくつかあるかもしれません。
例で削除されているレコードがvia
との関連付けを持っていたと仮定すると、関係の反対側のそれらの子レコードに登録しているクライアントにも、updated
またはremovedFrom
通知が送信されます。ブループリント > remove fromおよびブループリント > updateで、これらの通知の構造に関する詳細を参照してください。
via
によって示されている関連付けが複数形の場合(例:cashiers
)、removedFrom
通知が送信されます。一方、via
が単数形の関連付けを指している場合(例:cashier
)、updated
通知が送信されます。