2012-12-26 89 views
0
對象序列化

(免責聲明:新來這裏的Rails)紅寶石從Json的

說我有一個響應「ID」一個Rails的ActiveRecord型號:

User.first.id # => 22 

我的生活已經改變了,現在我需要通過JSON調用獲得這個相同的對象,並且我想要最小的代碼更改。

我這樣做:

uri = URI.parse("http://localhost:3001/user/") 
uri.query = "query=id#{user_id}" 
@user = JSON.parse(open(uri).read) 

我現在可以做的:

@user["id"] 

然而,這是不夠的,因爲這意味着太多的變化。 有什麼辦法可以把它變成真正的用戶對象嗎?或者一個簡單的行爲(我可能會使用構造函數創建一個虛擬對象,但是我正在尋找能夠幫助我的東西,並且我懷疑有一個簡單的Rails方法)。

+0

這將有助於更多地瞭解你正在嘗試做什麼。您是通過json在兩個rails應用之間傳遞用戶?接收系統中的用戶需要做什麼才能使其成爲AR對象? – NullRef

+0

我在兩個分開的系統上有相同的ActiveRecord模型。我在一個系統上調用User.find(:id),to_json它,而不是想要在接收系統上重新構造/反序列化ActiveRecord模型,從JSON。我希望我可以做Model.build(json_obj) –

回答

0

我發現了一個可能的解決方案,這一問題:

https://github.com/sprysoft/json_object

不過,我意識到我真正需要的原始ActiveRecord的模式,而不是一個虛擬對象..

這就是說,我具體問題,上面的寶石是一個可能的解決方案。