我使用名为“Setting”的ActiveResource模型连接到外部Web服务,该服务提供了一些响应,如下例所示:
{"setting" => {"id" => 10, :details => {"10a" => 7, "10b" => 8}}}
问题是,ActiveResource尝试对details
哈希中的所有键进行符号化,但这是不可能的,并引发NameError: wrong constant name 10a
。有没有机会禁止符号化甚至避免将details
转换为单独的对象?
由于
答案 0 :(得分:0)
您是否尝试手动设置架构?我不知道你是否可以像这样设置嵌套属性。
class Setting < ActiveResource::Base
schema = {'setting' => {'id' => :integer, :details => {'10a' => :integer, '10b' => :integer}}}
end
答案 1 :(得分:0)
我假设单独的对象是HashWithIndifferentAccess?在使用之前,您可以尝试在详细信息哈希上调用#deep_stringify_keys
吗?