gpt4 book ai didi

ruby-on-rails - 如何使用 Ruby on Rails 4.0.1/PostgreSQL Hstore 更新数据记录的值?

转载 作者:行者123 更新时间:2023-12-03 13:23:56 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,这一定是我的用户错误,但无法弄清楚。

我正在使用 Ruby 1.9.3-p194、Rails 4.01、PostgreSQL。

我有一个模型 Customer,其列名为 数据 那是一个 hstore 类型。出于某种原因,我无法使用任何新键/值更新数据(hstore)列,也无法更新现有键的值。我可以进行插入并指定没有任何问题的任何键/值。

客户 id: 1, first_name: "Mark", last_name: "Test", data: {"balance"=>"0"}, created_at: "2013-11-27 14:39:09", updated_at: "2013- 11-27 14:39:09"

c.data["balance"] = "100"

c.save

(0.2ms) 开始

(0.3ms) 提交
=> 真

如果我执行 update_attributes,它会保存它。
c.update_attributes({:data => {"balance" => "343"}})

我使用 时没有看到任何错误或异常c.保存! .有人有想法么?

最佳答案

我现在仍然需要它来工作并且等不及要解决这个错误,所以这是我的解决方法:

c.data["balance"] = "100"
c.data_will_change!
c.save

...它会保存到数据库中!

“attribute_name_will_change!”方法没有很好的记录,可以在 Active Model Dirty 模块的介绍中找到: http://api.rubyonrails.org/classes/ActiveModel/Dirty.html

关于ruby-on-rails - 如何使用 Ruby on Rails 4.0.1/PostgreSQL Hstore 更新数据记录的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com