2012-04-09 5 views
1

私は、チェックアウトプロセスの最終画面(Rails 3のbuit)で注文サマリーを表示しようとしています。この前に何も投稿されていないので、フォームフィールドからすべての名前と値を取得するためにjQueryのserializeArray()を使用しています。これはうまくいきます。さまざまなネストされた属性を収集するので、返される配列はかなり忙しく、order[donations_attributes][0][amount_in_dollars]のような名前になります。jQueryのserializeArrayをRailsフォームで使用する

Javascript(またはjQueryを使用)では、これらの名前と値をJSON文字列に変換する方法があります(これにより、サマリー出力を生成するのが簡単になります)。例えば、何かのように:

{ 
    "order": { 
    "donations_attributes": [ 
     { 
     "amount_in_dollars": 50.95, 
     "category": "Some Fund" 
     }, 
     { 
     "amount_in_dollars": 90.92, 
     "category": "Some Other Fund" 
     } 
    ], 
    "billing_address_attributes": { 
     "first_name": "Bob", 
     "last_name": "Smith", 
     "address1": "123 Whatever Street", 
     "and so on": "etc" 
    } 
    } 
} 

私はまだ何も提出していない点に注意してください(また私缶)ので、私はRubyでそれを行うことはできません。これを行うための明白で直接的な方法がありますか、それとも手で文字列を解析して構築する必要がありますか? JQuery.ajax(...)dataパラメータにそのまま

答えて

1

あなたはそのデータを渡すことができ、そしてそれはあなたが呼び出すアクションのためのコントローラメソッドとビューにparamaになってしまいます、params[:order][:donations_attributes][0][:category] == "Some Fund"を.e.g。

ブラウザに新しいURLをロードする場合は、データにJQuery.serialize()を使用してURLに「?」を付けてURLに追加すると、適切なクエリ文字列でURLを作成できます。

+0

「jQuery.ajax()」を読んでいただきありがとうございますが、提出なしで探しているJSON文字列を取得する方法はわかりません。 (もし役立つなら、注文要約を生成するためにmustache.jsを使用しています。これはすべてサーバーに要求を出さずに行わなければなりません)。 – shanebonham

関連する問題