【发布时间】:2012-02-28 22:09:48
【问题描述】:
我在 rails3/postgreSQL 中有以下模型/表:
create_table "admin_reports", :force => true do |t|
t.string "report"
t.decimal "result"
t.string "result_type"
t.datetime "created_at"
t.datetime "updated_at"
end
在生产中,AdminReports.result 不存储小数,而是存储哈希:
AdminReport.last
=> #<AdminReport id: 4, report: "dau", result: #<BigDecimal:cbca0f0,'0.8E1',4(8)>, result_type: "percentage", created_at: "2012-02-28 22:05:15", updated_at: "2012-02-28 22:05:15">
我希望看到的地方:
AdminReport.last
=> #<AdminReport id: 4, report: "dau", result: 10.10, result_type: "percentage", created_at: "2012-02-28 22:05:15", updated_at: "2012-02-28 22:05:15">
在 Rails 控制台中,即使我尝试像这样手动设置结果字段:
@a = AdminReport.last
@a.result = 8.89
@a.save
它仍然将 AdminReport.result 显示为 BigDecimal 哈希。有什么想法吗?
谢谢
【问题讨论】:
-
这就是你调用 .inspect 时输出的大十进制数(控制台就是这样做的)。
-
所以我不应该使用十进制作为字段吗?我应该使用什么字段,以便它实际输出值(10.10)?奇怪的是,它并没有在本地这样做。
标签: ruby-on-rails ruby-on-rails-3 postgresql