2016-07-11 123 views
0

我跟着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

「它們顯示爲一個整數」什麼你的意思。你的意思是如果你打電話給班級,那就是向你展示'Fixnum'? – lcguida

回答

0

您可以在模型中使用鉤:

before_save -> r { r.bar.each{|k, v| r.bar[k] = v.to_i} }