1

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

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 でそれを行うことはできないことに注意してください。これを行うための明白で簡単な方法はありますか、それとも手動で文字列を解析して構築する必要がありますか?

4

1 に答える 1

1

dataそのデータを のパラメータにそのまま渡すことができます。これは、呼び出すアクションのコントローラ メソッドとビューでJQuery.ajax(...)終了します。paramaparams[:order][:donations_attributes][0][:category] == "Some Fund"

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

于 2012-04-10T00:20:22.413 に答える