Ruby on rails ruby-rails:将key-val对添加到数据库中的序列化哈希

Ruby on rails ruby-rails:将key-val对添加到数据库中的序列化哈希,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是rails的新手,有以下问题: 我有一个存储在数据库中的序列化哈希数组。现在我想用一个新的键值对(根据存储的数据计算)扩展散列数据,例如在Ruby中: 数据存储数据库: coordinates = Array.new c1 = Hash.new('x' => x1, 'y' => y1) c2 = Hash.new('x' => x2, 'y' => y2) c3 = Hash.new('x' => x3, 'y' => y3) coordinates

我是rails的新手,有以下问题: 我有一个存储在数据库中的序列化哈希数组。现在我想用一个新的键值对(根据存储的数据计算)扩展散列数据,例如在Ruby中:

数据存储数据库:

coordinates = Array.new

c1 = Hash.new('x' => x1, 'y' => y1)
c2 = Hash.new('x' => x2, 'y' => y2)
c3 = Hash.new('x' => x3, 'y' => y3)
coordinates << c1 << c2 << c3
数据库中的表示形式如下所示:

"coordinates_table": [
  {
    "id": 1,
    "coordinates": [
      { "x": 1.0, "y": 0.5 },
      { "x": 0.5, "y": 0.4 }
    ],
    "created_at": "2015-11-22T00:18:38.592Z",
    "updated_at": "2015-11-22T00:18:38.592Z"
  }
]
这是原始迁移:

class CreateCoordinates < ActiveRecord::Migration
  def change        
    create_table :coordinates do |t|
      t.text :coordinates_param

      t.timestamps null: false
    end
    add_index :coordinates, :id
  end
end
class-CreateCoordinates
和坐标类:

class Coordinate < ActiveRecord::Base
  serialize :coordinates_param
end
类坐标 由于我不打算更改输入数据,而只是扩展存储在数据库中的数据,因此我认为实现这一点的最佳方法是迁移,但在生成的迁移模型中,我没有找到任何方法访问存储在表中的单个哈希对象


是否有可能在rails中执行此操作,或者我必须提供一个单独的扩展类来存储新数据?

您是如何在数据库中保存哈希的?你能分享表结构和存储在表中的样本值吗?@FabianPöschl你可以回答自己的问题,然后过一段时间,给它打勾。这将帮助其他有同样问题的人。
class Coordinate < ActiveRecord::Base
  serialize :coordinates_param
end