如何生成限制数据精度的模型,在轨道上的红宝石中进行缩放

时间:2015-03-26 06:50:28

标签: ruby-on-rails ruby model

我正在尝试生成以下名为PriceUsdOneMinIntervals的模型,但无法正确应用精度和缩放格式,有人可以建议如何更正以下语法:

rails generate model PriceUsdOneMinInterval unix_timestamp:integer usd_high:decimal :precision[20] :scale[8] usd_low:decimal :precision[20] :scale[8] usd_open:decimal :precision[20] :scale[8] usd_close:decimal :precision[20] scale[8]

在做出上述陈述时,我已提到this api。

2 个答案:

答案 0 :(得分:0)

试试这个

rails generate model PriceUsdOneMinInterval :unix_timestamp, :integer, 
:usd_high, :decimal, precision: 20, scale: 8, :usd_low, :decimal, precision: 20, 
scale: 8, :usd_open, :decimal, precision: 20, scale: 8, 
:usd_close, :decimal, precision: 20, scale: 8

OR

使用字段名称和data_types生成迁移,然后更改您可以更改迁移中的值

def change
    add_column :price_usd_one_min_intervals, :unix_timestamp, :integer
    add_column :price_usd_one_min_intervals, :usd_high, :decimal, precision: 20, :scale: 8
    add_column :price_usd_one_min_intervals, :usd_low, :decimal, precision: 20, scale: 8
    add_column :price_usd_one_min_intervals, :usd_open, :decimal, precision: 20, scale: 8
    add_column :price_usd_one_min_intervals, :usd_close, :decimal, precision: 20, scale: 8
end 

答案 1 :(得分:0)

rails g model PriceUsdOneMinInterval \
unix_timestamp:integer \
'usd_high:decimal{20,8}' \
'usd_low:decimal{20,8}' \
'usd_open:decimal{20,8}' \
'usd_close:decimal{20,8}'