モデル内にデータベースの列に対応する列挙型があります。
次enum
のようになります:
enum sale_info: { plan_1: 1, plan_2: 2, plan_3: 3, plan_4: 4, plan_5: 5 }
整数値を取得するにはどうすればいいでしょうか?
私はもう試した
Model.sale_info.to_i
しかし、これは 0 のみを返します。
ベストアンサー1
列挙型の整数値は、列挙型が存在するクラスから取得できます。
Model.sale_infos # Pluralized version of the enum attribute name
次のようなハッシュが返されます:
{ "plan_1" => 1, "plan_2" => 2 ... }
その後、クラスのインスタンスのsale_info値を使用してModel
整数値にアクセスできます。たとえば:
my_model = Model.find(123)
Model.sale_infos[my_model.sale_info] # Returns the integer value