0

我有两个与同一个数据库通信的应用程序。一个是 Ruby on Rails 应用程序,另一个是用 Ruby 编写的控制台应用程序。

在 Rails 应用程序中,我保存了一组设置,这些设置保存到名为“notification_settings”的列中。我的模型中有以下内容;

serialize :notification_settings, Hash

这会导致列中的值按原样存储

--- !map:ActiveSupport::HashWithIndifferentAccess 
test: !map:ActiveSupport::HashWithIndifferentAccess 
  email: "1"

ETC

当我在我的 Ruby 应用程序中做同样的事情时,哈希只是简单地保存为普通哈希。即使我做类似的事情;(在我的 Ruby 应用程序 model.rb 中)

  hash = HashWithIndifferentAccess.new(self.notification_settings)
    hash[:test][:email] = 0
    self.update_attribute(:notification_settings, hash)

如何让 Ruby 应用程序以与 Rails 应用程序保存记录完全相同的方式 (HashWithIndifferentAccess) 保存记录?

4

0 回答 0