シンプルな Rails 3 アプリケーションで新しいタスクを作成するフォームを Sencha Touch で作成しようとしています。基本的に、ネストされた JSON をこの質問に追加しています。
テストを簡単にするために、パラメーターをリクエストにハードコーディングしています。Rails アプリは以下を使用して作成されました。
$rails g scaffold task name:string
Sencha Touch Ajax リクエスト:
Ext.Ajax.request({
url:'/tasks',
method:'POST',
params: {
task: { name: "Hello World" }
}
Rails は、params ハッシュが次のようになることを想定しています。
Parameters: { "task"=>{"name"=>"Hello World"} }
しかし、Sencha からの Ajax POST は次のように送信します。
Parameters: {"task"=>"[object Object]"}
次のようにdefaultHeadersを使用しようとすると:
Ext.Ajax.defaultHeaders = {
'Content-Type': 'application/json'
}
次のように投稿します。
Parameters: {"_json"=>"task=%5Bobject%20Object%5D"}
これを適切に処理する方法について何か考えはありますか?