使用整数值访问Rails模型中的枚举值

时间:2016-08-03 00:46:58

标签: ruby-on-rails json enums

在我的Rails应用程序中,我有一个名为Form的模型。在From模型中,有一个枚举enum form_type: [:formA, :formB, :formC]

我有一个名为form.json的json文件,它有不同类型表单的种子数据。我基本上需要正确地为不同类型的表单调用相应的种子数据。

{
    "formA" : "seed data1",
    "formB" : "seed data2",
    "formC" : "seed data3",
}

假设我在名为json_data的变量中检索此json数据。我以下列方式创建Form模型。

我按照以下方式创建Form模型。:

new_form = Form.create(form_type: params[:form_type], form_data: __ ] ) 

使用params[:form_type],我需要从枚举中获取form_type的字符串值。但是,如果我Form.form_types,我会{"formA" => 0, "formB" => 1, "formC" => 2}而不是[:formA, :formB, :formC]。因此,我很难获得form_type的字符串类型。如何使用整数值从枚举中检索form_type

1 个答案:

答案 0 :(得分:1)

如果Form.form_types为您提供{"formA" => 0, "formB" => 1, "formC" => 2},则Form.form_types.keys将为您提供["formA", "formB", "formC"]