0

同じデータベースと通信する 2 つのアプリがあります。1 つは Ruby on Rails アプリで、もう 1 つは Ruby で作成されたコンソール アプリです。

Rails アプリでは、「notification_settings」という列に保存される一連の設定を保存します。モデルには次のものがあります。

serialize :notification_settings, Hash

これにより、列の値がそのように格納されます

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

Ruby アプリで同じことを行うと、ハッシュは単純に通常のハッシュとして保存されます。私が何かをしても; (私の Ruby アプリの model.rb で)

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

Rails アプリがレコードを保存するのとまったく同じ方法 (HashWithIndifferentAccess) で、Ruby アプリにレコードを保存させるにはどうすればよいですか?

4

0 に答える 0