我遇到了一个问题,我现在无法处理一个看起来像这样的ActiveResource对象:
#<Settings:0x000000085fff48
@attributes=
{"account_id"=>1,
"created_at"=>"2012-01-10T14:54:36Z",
"id"=>1,
"settings_hash"=>
#<Settings::SettingsHash:0x000000085ff250
@attributes=
{"email_notices"=>
#<Settings::SettingsHash::EmailNotices:0x0000000860c860
@attributes=
{"none"=>
["none", "none"]},
@persisted=false,
@prefix_options={}>,
"permissions"=>
#<Settings::SettingsHash::Permissions:0x0000000860c1d0
@attributes=
{"default"=> [["all"], ["all"] ]},
@persisted=false,
@prefix_options={}>},
@persisted=false,
@prefix_options={}>,
"field_key"=>"BRp7Box33sg",
"fieldone"=>1,
"updated_at"=>"2012-01-10T14:54:36Z"},
@persisted=true,
@prefix_options={}>
我们来自ActiveRecord模型,其中字段被序列化为哈希。我觉得好像我正在努力解压缩哈希并且我似乎无法添加它并更新模型。我的意思是我可以在玩弄它的同时添加它但它需要类似的东西:
thisobject.settings_hash['permissions'].attributes.merge({"derp"=>[['dsfasdf'],['asdfasdfadsf']]})
我很难回到对象中,然后我想更新回来的地方。
所以,我正在做一些我现在还不太了解的事情,也许是以尴尬的方式。建议?
我想在ActiveResource对象中为哈希字段添加一个哈希,以便在其他地方更新ActiveRecord对象实例,但目前还不能。