我有单位字段的模型。
rails g scaffold Car speed:integer unit:integer
单位:km/h
,m/s
将单位存储在数据库中的另一个模型或模型中的常量中是否更好?
模型中的 SPEED_UNITS = ['km/h', 'm/s']
或rails g model SpeedUnit name:string
?
我无法重新计算单位。 一旦我必须写m / s,其他时间km / s取决于用纸制成的特殊形式的单位。
单位数为2,功能可能不是3或4。
此致
答案 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。