我有一個像這樣的MySQL中使用Rails的4遷移創建一個表:ActiveRecord的十進制類型字段截斷爲整數
| nba_average_stats | CREATE TABLE `nba_average_stats` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ppg` decimal(2,0) DEFAULT '0',
`apg` decimal(2,0) DEFAULT '0',
`rpg` decimal(2,0) DEFAULT '0',
`tpm` decimal(2,0) DEFAULT '0',
`blk` decimal(2,0) DEFAULT '0',
`stl` decimal(2,0) DEFAULT '0',
`year` int(11) DEFAULT '0',
`player_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=414 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
我這裏的問題是,當我做這樣的事情:
stat.ppg = 4.3; stat.save
它在數據庫中顯示爲整數4
我的數據庫類型是否錯誤?我在Rails上做了什麼錯誤?
保健佳品的解決方案來解決這個?在我的遷移中,我使用了類似這樣的東西:'t.decimal:ppg,:precision => 2,:default => 0' – randombits
當然是::scale => 1(在點後面有一個地方)。 – Jacek
@Jacek請在答案中提供一個代碼示例。您的評論不夠全面,無法理解答案。 –