ネストされたモデルの例では、私はcodebrew \ backbone-railsを使用しています(私はタスクのコレクションを持っています。例)。Backbone.js - レールとネストされたコレクションの使用に関する指針
私は必要なデータを表示するために一連の入れ子になったビューをロードして作成できますが、そのデータに対してCRUD操作を実行しようとすると固まってしまいました。
たとえば、外側の(上の)オブジェクトの属性を変更し、そのデータをサーバーに送信したいとします。これは、jsonの外観です。私はしました -
{
"task" => {
"name" => "testupdate",
"user_id" => 1,
"id" => 3,
"Details" => [
[0] {
"task_id" => 3,
"break_length" => 4,
"completed" => false,
"id" => 12,
"length" => 25,
"location_id" => nil,
"note" => "test444",
"start_date_time" => "2011-12-15T00:00:00Z"
}
],
"details_attributes" => [
[0] {
"start_date_time" => "2011-12-15T00:00:00Z",
"completed" => false,
"note" => "test444",
"break_length" => 4,
"task_id" => 3,
"id" => 12,
"length" => 25,
"location_id" => nil
}
]
}
}
FYI:私はアプリをロードしたとき、私は「熱心に」私のネストされたデータをロードしているので、私は(details_attributes形式を見て)更新上のサーバーに戻ってそれを送信するつもりですタスクtoJSONメソッドをオーバーライドして、Railsが期待する "_attributes"を持つコレクションをデコレートする
一方、私がこの変更をサーバー上で行った場合、旧式のレール方法(ネストされたフォームを使用)ネストされたオブジェクトのハッシュ(この例では1つしかありませんが)(Details_attributesをご覧ください)
{
"utf8" => "",
"authenticity_token" => "iv9wYvgqLt3nldVOX4AeAifpFaSHIfEj85MsPUaMiAw=",
"task" => {
"name" => "test",
"details_attributes" => {
"0" => {
"_destroy" => "",
"start_date_time" => "2011-12-15 00:00:00",
"length" => "25",
"completed" => "0",
"note" => "test444",
"break_length" => "4",
"id" => "12"
}
}
},
"commit" => "Update task",
"user_id" => "1",
"id" => "3"
}
私のjsonをアップデートで入手する方法に関するガイダンスは、サーバがそれを受け入れるべきかのように見えるでしょうか?
ありがとうございました。
これは私にとっては近いです - (と私はJavaScriptのエキスパートではありません) - 私はコンソールのログで良く見えますが、サーバーに送信するとjsonは次のようになります: '{" object私が間違っているのは、私がBackbone.syncのためにスーパーを呼び出すときです... –
実際には - 私は間違っていました。 - レールはハッシュの代わりに配列としてデータを送信しても問題ありませんでしたが、詳細とdetails_attributesを送信する際に問題がありました。私はtoJSONメソッドで詳細をフィルタリングしました。それはうまくいきました... –
- 私は今同期で何ができるのか分かっています! –