Rails,activerecord,从hstore记录中删除键值对
Rails, activerecord, Delete a key value pair from hstore record
我的模型中有这样的 hstore:
store_accessor :properties, :a, :b, :c, :d
假设数据库中的一条记录的 hstore 列存储如下(请注意,这不是整个记录,只是此处显示的 hstore 部分):
properties: {"a"=>"1", "b"=>"2", "d"=>"5"}
如果我想删除键值对 "b"=>"2" 这样结果就是
properties: {"a"=>"1", "d"=>"5"}
如何在模型代码中执行此操作?我试过这个:
update_attribute(:b, nil)
但这会将 b 设置为零。我想删除 b 的键值对而不是将其设置为 nil。
谢谢!
尝试
update_attribute([%(properties = delete("properties",?)), 'b'])
或
properties.delete("b")
我的模型中有这样的 hstore:
store_accessor :properties, :a, :b, :c, :d
假设数据库中的一条记录的 hstore 列存储如下(请注意,这不是整个记录,只是此处显示的 hstore 部分):
properties: {"a"=>"1", "b"=>"2", "d"=>"5"}
如果我想删除键值对 "b"=>"2" 这样结果就是
properties: {"a"=>"1", "d"=>"5"}
如何在模型代码中执行此操作?我试过这个:
update_attribute(:b, nil)
但这会将 b 设置为零。我想删除 b 的键值对而不是将其设置为 nil。
谢谢!
尝试
update_attribute([%(properties = delete("properties",?)), 'b'])
或
properties.delete("b")