2012-04-09 3 views
1

나는 체크 아웃 프로세스의 최종 화면 (레일 3에서 buit)에 주문 요약을 표시하려고한다. 이 전에는 아무 것도 제출되지 않으므로 jQuery의 serializeArray()을 사용하여 양식 필드에서 모든 이름과 값을 얻습니다. 중첩 된 다양한 속성을 수집하므로 리턴 된 배열은 다소 바쁜 이름이며 order[donations_attributes][0][amount_in_dollars]과 같은 이름이 사용됩니다.jQuery의 serializeArray와 레일스 양식 사용

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" 
    } 
    } 
} 

나는 아직 아무것도 제출하지 않은 명심 (도 I 수), 그래서 나는 루비를 할 수 없습니다. 이렇게하는 일종의 확실하고 직설적 인 방법이 있습니까? 아니면 문자열을 손으로 파싱하고 구축해야합니까? JQuery.ajax(...)data 매개 변수에 그대로

답변

1

당신은 그 데이터를 전달할 수 있고, 당신이 호출 동작에 대한 제어 방법과보기에 parama에 종료됩니다, params[:order][:donations_attributes][0][:category] == "Some Fund"을 .e.g.

브라우저에 새 URL을로드하려면 데이터에 JQuery.serialize()을 사용하고 URL에 '?'기호를 추가하여 적절한 검색어 문자열로 URL을 추가하면됩니다.

+0

답변을 주셔서 감사합니다.하지만'jQuery.ajax()'를 읽은 후에 제출하지 않고 찾고있는 JSON 문자열을 얻는 방법이 명확하지 않습니다. (도움이된다면, 주문 요약을 생성하기 위해 mustache.js를 사용하고 있습니다.이 모든 것은 서버에 요청하지 않고 완료되어야합니다.) – shanebonham

관련 문제