2010-10-06 73 views
0

我目前正在使用jQuery的rails3應用程序。我有一個JavaScript插件,根據用戶所做的選擇返回一組JSON數據。我有一個保存按鈕,它從Java腳本插件讀取這組數據,並將其返回到Rails應用程序以進行保存。 JavaScript似乎正在工作,它會進行正確的ajax調用並將數據發回到rails應用程序。問題似乎是Rails將已經被PUT回數據的數據編碼回服務器的方式。Rails沒有對來自POST的嵌套數據進行編碼

問題是我試圖回發到rails應用程序的嵌套數據。我有一系列的轉變,似乎被視爲一個長字符串,而不是我期待的值的散列。這裏是數據軌道的輸出。

參數: { 「移位」=> 「[{\」 START_TIME \ 「:\」 星期三十月 06 2010九點30分00秒GMT + 0100 (BST)\ 「\」 END_TIME \ 「:\」Wed Oct 06 2010 13:00:00 GMT + 0100 (BST)\「,\」active \「:true,\」occurrence \「:\」weekly \「,\」company_id \「: \「1 \」},{\「start_time \」:\「Thu Oct 07 2010 09:30:00 GMT + 0100 (BST)\」,\「end_time \」:\「Thu Oct 07 2010 13 :00:00 GMT + 0100 (BST)\「,\」active \「:true,\」occurrence \「:\」weekly \「,\」company_id \「:\」1 \「}]」, 「id」=>「1」}

我希望能夠再在我的控制器

params[:shifts].each do |shift| 
    puts shift.inspect # would expect a hash of values here 
end 

然而,而不是值的散列有隻是一個字符串使用下面的代碼。任何有關爲什麼rails不會像您期望的那樣編碼哈希值的建議。

回答

0

我相信你需要首先解析它爲JSON。 「require'json'」在控制器的頂部,然後嘗試JSON.parse(params [:shift])。each {| shift | shift.inspect}。

+0

是的,現在工作。謝謝。 – Stewart 2010-10-06 13:47:13

相關問題