2017-06-20 33 views
0

我有单位字段的模型。红宝石轨道上,模型还是常量?

  • rails g scaffold Car speed:integer unit:integer

单位:km/hm/s

是更好存储单元中的另一个模型数据库或常数模式?

SPEED_UNITS = ['km/h', 'm/s'] in model or rails g model SpeedUnit name:string

我无法重新计算单位。 一旦我必须写m/s,其他时间km/s取决于什么单位是由纸制成的特殊形式交付。

单位的数量是2,在功能可能是3或4不多。

Regards

回答

1

为什么不使用枚举呢?枚举是一个字段的固定值集合。

enum unit: [:kmph, :mps] 

这样一来,你的模型将有实用的方法,如:

car.kmph? # is the unit kmph? 
car.mps? # is the unit mps? 
car.kmph! # sets the unit as kmph 
... 

参考this guide关于枚举的更多细节。