Ruby on rails,model还是constant?

时间:2017-06-20 08:11:17

标签: ruby-on-rails

我有单位字段的模型。

  • rails g scaffold Car speed:integer unit:integer

单位:km/hm/s

将单位存储在数据库中的另一个模型或模型中的常量中是否更好?

模型中的

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

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

单位数为2,功能可能不是3或4。

此致

1 个答案:

答案 0 :(得分: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