2016-08-03 1 views
0

私のRailsアプリケーションでは、Formというモデルがあります。 Fromモデルには、enum enum form_type: [:formA, :formB, :formC]があります。整数値のRailsモデルのenum値にアクセス

私はform.jsonと呼ばれるjsonファイルを持っています。このファイルには、さまざまなタイプのフォーム用のシードデータがあります。私は基本的に、さまざまな種類のフォームに対応するシードデータを正しく呼び出す必要があります。

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

このjsonデータは、json_dataという変数で取得します。そして、私はFormモデルを次のように作成します。

私はparams[:form_type]を使用する方法以下のように:

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

Formモデルを作成し、私は列挙型からform_typeの文字列値を取得する必要があります。しかし、私がForm.form_typesを実行すると、[:formA, :formB, :formC]の代わりに{"formA" => 0, "formB" => 1, "formC" => 2}が得られます。したがって、文字列タイプform_typeを得ることは本当に難しくなります。整数値を使用して列挙からform_typeを取得するにはどうすればよいですか?

+0

を与えます'Form.form_types.keys'はあなたに' ["formA"、 "formB"、 "formC"] ' –

+1

を与えます。私はあなたの答えを選ぶことができるように答えを加えないでください。 – JoHksi

答えて

1

Form.form_typesはあなた{"formA" => 0, "formB" => 1, "formC" => 2}を与えた場合、 `Form.form_types`はあなたに与える` { "フォーマ" => 0、 "formB" => 1、 "formC" => 2} `ならば、Form.form_types.keysはあなた["formA", "formB", "formC"]

関連する問題