【问题标题】:Rails, activerecord, Delete a key value pair from hstore recordRails,activerecord,从 hstore 记录中删除键值对
【发布时间】:2017-08-07 04:16:19
【问题描述】:

我的模型中有这样的 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 设置为 nil。我想删除 b 的键值对而不是设置为 nil。

谢谢!

【问题讨论】:

标签: ruby-on-rails activerecord hstore


【解决方案1】:

试试

update_attribute([%(properties = delete("properties",?)), 'b'])

properties.delete("b")

【讨论】:

  • 请在您的回答中提供更多详细信息。解释为什么这段代码会有帮助。
猜你喜欢
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多