rails 初心者です。
railsにて、enumの機能を使って、男性女性のフラグや、その他選択肢の制御などを行っています。
ところが、enumで定義したカラムにseedでデータ投入する際に、エラーになってしまい困っています。
どのようにデータ投入すべきなのか、もしくは、enumの使い方が間違えているのか、教えて頂けますでしょうか。
<やりたいこと>
1.enumで選択肢の制御がしたい(→これはできています)
2.データベースに初期データをSeedで投入したい
<enumによるカラムの定義>
たとえば、単純な話、下記の様に定義していたとします。
性別をデータとしては、数値で格納している
#0: 男性
#1: 女性
enum sex: {male: 0, female: 1}
<Seedデータの投入>
上記の sex
の項目に対して、データとしては、0として、seedデータ(正確にはCSVをseedにて読み込ませています)を記載し、rake db:seed、をすると下記のようなエラーが出ます。
ArgumentError: '0' is not a valid sex
半角が全角になっているのかとか、いろいろ思い当たることは調べたのですが、原因がわからず。
とはいえ、一旦、enumの定義を外して、データ投入した後、再度enumの定義を有効にすると、きちんと、男性、女性と数値データを振分けてくれるので、数値データとして格納されていないわけでもenumの定義方法が間違えているわけでも無さそうなのですが、何が悪いのでしょうか?
助けて頂けるとありがたいです。
回答1件
あなたの回答
tips
プレビュー