2017-06-20 12 views
0

私はユニットフィールドを持つモデルを持っています。Ruby on rail、モデルまたは定数?

  • 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

なぜ列挙型を使用しないのですか?列挙型は、フィールドの値の固定セットです。

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を参照してください。

関連する問題