5

「Setting」という名前の ActiveResource モデルを使用して、次の例のような応答を提供する外部 Web サービスに接続しています。

{"setting" => {"id" => 10, :details => {"10a" => 7, "10b" => 8}}}

問題は、ActiveResource がdetailsハッシュ内のすべてのキーを記号化しようとすることですが、これは不可能であり、NameError: wrong constant name 10a. 象徴化を禁止したりdetails、別のオブジェクトへの変換を回避したりする可能性はありますか?

ありがとう

4

2 に答える 2

0

別のオブジェクトは HashWithIndifferentAccess だと思いますか? #deep_stringify_keys詳細ハッシュを使用する前に呼び出してみることはできますか?

于 2014-01-03T20:53:22.037 に答える
0

スキーマを手動で設定しようとしましたか? このようにネストされた属性を設定できるかどうかはわかりません。

class Setting < ActiveResource::Base
   schema = {'setting' => {'id' => :integer, :details => {'10a' => :integer, '10b' => :integer}}}
end
于 2012-09-03T01:09:16.690 に答える