我在我的模型中有这样的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。
谢谢!
答案 0 :(得分:1)
尝试
update_attribute([%(properties = delete("properties",?)), 'b'])
OR
properties.delete("b")