0
我從JSON格式的消息隊列中拉出記錄,並希望使用ActiveRecord的.build方法,如果我可以簡單地傳入記錄並構建對象。如何使用ActiveRecord的.build方法並以JSON格式傳遞屬性?
我該怎麼做?這種方法有什麼缺點嗎?
我從JSON格式的消息隊列中拉出記錄,並希望使用ActiveRecord的.build方法,如果我可以簡單地傳入記錄並構建對象。如何使用ActiveRecord的.build方法並以JSON格式傳遞屬性?
我該怎麼做?這種方法有什麼缺點嗎?
原則上,您可以使用YourModel.new.from_json(json_string)
,但其行爲方式取決於布爾型ActiveModel::Base.include_root_in_json
。如果您的json是一個簡單的散列/對象,或者將其保留爲true(默認值),如果您的json是to_json
(再次默認情況下)生成的嵌套散列種類,請將其設置爲false。
該方法所做的一切就是將json解碼爲散列,並調用self.attributes = hash
,這樣您就可以輕鬆地自己做到這一點。
關於缺點,這個過程確實沒有特定的。你基本上在做一個標準的create
控制器方法,你會做同樣的事情,充滿驗證,attr_accessible限制等等。
謝謝 - 這讓我足夠了,我已經解決了。 – 2010-11-23 16:53:34