2011-06-20 59 views
0

我想我在Rails中找到了一個to_json方法的bug。Rails to_json不正確地轉換散列

我已經生成了一個新的腳手架並修改了以JSON格式呈現錯誤的create方法。

to_json方法是從返回的散列中刪除數組。

這是一個調試會話的結果。

(RDB:2)@ recipe.errors {:名稱=> [ 「不能爲空」]}

(RDB:2)@ recipe.errors.to_json 「{\」 名\「:\」不能爲空\「}」

正如您所看到的,該數組已被刪除。

有沒有其他人發現了嗎?

乾杯,

+0

什麼'{:name => [「不能空白」]}。to_json'在Rails控制檯中做什麼? –

+0

如果我嘗試轉換@ recipe.errors.to_json,那麼它不起作用,但如果我複製@ recipe.errors生成並運行to_json的確切散列,那麼它就可以工作。離奇。 – Tim

回答

1
irb(main):003:0> {:name=>["can't be blank"]}.to_json 
=> "{"name":["can't be blank"]}" 

我用ruby1.9.2,我不覺得上面的錯誤。 可能是問題已經解決:)