2011-02-08 4 views
2

API接続のためにオブジェクトをjsonに変換しようとすると、奇妙なエラーが発生します。私の経験は以下のとおりです。Rails JSON変換エラー

私は

JSON.generate(self) 

を呼び出す場合、出力は私が唯一の私のJSONオブジェクトでのparamsを必要と私は

JSON.generate(self.params) # or the next line 
JSON.generate(@params) #params has been set on the object as an accessor 

を呼び出すときに、私は

undefined method `merge' for #<JSON::Ext::Generator::State:0x1043f1a38> 
を取得

{"validation_context":null,"errors":{},"params":{"number":"123","name":"test"}} 

です

何らかの理由でparamsはハッシュと見なされません。私は親オブジェクトを取得していますが、それ以外の場合は失敗します。どのように私はパラメタだけをシリアル化できますか?

答えて

2

私は比較的単純な解決策を見つけました。

ではなく意図したとおりに動作します

object_to_serialize.to_json 

を使用して

JSON.generate(object_to_serialize)