2010-07-01 64 views
2

所以我有這個奇怪的問題與jQuery的做一個紅寶石對象的ajax後。我有2個選項。 1. $('form_id'}。serialize()。我知道這是有效的,但是我的表單只有太多的字段,並且以 的形式管理它們有點太不方便。第二種選擇是rails控制器在編輯窗體的時候,它正在構建一個ruby對象,這只是在超級方便的情況下,只需要在ajax post請求中簡單地粘貼對象就可以了,顯然​​我能夠用這樣的東西...jquery ajax正在將紅寶石對象數組轉換爲哈希

some_function() { 
    $.ajax({type: post, url: '/action', data: { 'post_data': <%= @ruby_object.to_json %> }}); 
} 

如果你想知道這個作品,它的確如此(不知道如何以及爲什麼) 但是有一個小問題,ruby對象在哈希中有一個哈希數組,像{[{}]}看起來,某個地方的某個人正在將該數組轉換爲一個散列,其中的鍵是該數組的索引e行動,如果我打印參數,我得到{{{}}}。那麼有人可以告訴我怎樣才能得到這個並回到原來的對象結構?

+0

您可以發佈一些正在創建「ruby_object」的Ruby代碼嗎? – 2010-07-01 19:17:41

+0

您使用的是什麼ruby web框架? – Adrian 2010-07-01 19:56:51

+0

'{[{}]}'是不可能的,哈希是鍵/值對,你不能在它的中間放一個數組。 – 2010-07-02 03:23:31

回答

0

您在JS對象上執行$ .toJSON,並將其作爲'json'格式發佈。如果您好奇,Rails如何將發佈數據轉換爲Ruby對象,請檢查actionpack-3.0.7/lib/action_dispatch/middleware/params_parser.rb