2010-05-10 36 views
2

在Rails 3(1.8.7上的測試版3)中,當在關係上調用to_json時,我得到一個循環引用異常。首先將該關係轉換爲數組,然後調用to_json工作。爲什麼我在ActiveRecord上調用to_json時出現循環引用異常:: Relation

Model.where()to_json(其中模型是在Rails任何模型3應用程序)

代碼工作::失敗

代碼。

Model.where()to_a .to_json

這可以在控制檯上重新制作。

有沒有其他人跑過來呢?這是預期的嗎?

回答

0

我有同樣的問題,不能修復它,但發現瞭如何避免它,有以下幾點:

respond_to do |format| 
    response = @product.to_xml 
    format.xml { render :xml => response } 
    format.json { render :json => Hash.from_xml(response).to_json } 
end 

這裏的想法是產生響應的XML格式,然後哈希它,然後將其格式化爲JSON。

由於現在JSON格式的結果與XML格式的結果具有完全相同的數據,所以這種方法給了我更多的預期。

相關問題