Activeresource, обновление и слияние - PullRequest
0 голосов
/ 10 января 2012

Я столкнулся с проблемой, которую сейчас не могу обработать с помощью объекта 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 в другом месте, но пока не могу.

...