我最近在我的一个表
中添加了一个jsonb字段add_column :users, :preferences, :jsonb, null: false, default: '{}'
我正在存储这样的值:
user = User.first
user.preferences = { job: "programmer" }
现在我想将另一个键值对推送到我的jsonb字段,我在控制台中尝试了这个:
user = User.first
user.preferences.merge(twitter_account: "something")
user.save
我得到像
这样的东西....
(0.3ms) COMMIT
=> true
通常意味着它已被保存!但当我检查preferences
的值时,我没有看到任何附加值,即使我退出控制台并再次重新运行rails控制台,我也可以看到任何更改
是这样做的方式还是我错了?