我跟着this tutorial在我的模型上有一个哈希列,效果很好。
当我在rails console
中计算代码时,它在我的控制器代码中变得不同。在控制台中:
Foo.update_attributes(bar: {"a" => 1, "b" => 2})
我的值在控制台中显示为整数。在我的控制器中,如果我正在进行计算,我必须添加.to_i
或.to_f
,它会变得混乱。我的价值观将永远是一个数字。我可以简单地为列添加int或float吗?
add_column :foos, :bar, :hstore, :integer, default: {}, null: false
以上不起作用。
答案 0 :(得分:0)
您可以在模型上使用钩子:
before_save -> r { r.bar.each{|k, v| r.bar[k] = v.to_i} }