『RubyOnRails』enumの使い方
初めに
プログラミングを始めて4ヶ月の初学者です。
今回enumを使う機会があったのでメモを残します。
環境
・Ruby '2.3.8'
・Rails '5.2.3'
emunとは
enum(イーナム)はRails4.1から導入された機能です。
enumを使用すると以下の様な事が出来ます。
DBの中では数字を保存させる。
Viewでは文字を表示させる。
例:日本というテーブルに地方というカラムがあったとします。
enumを使用しない場合は、地方カラムに関東、関東、九州、四国の様に文字が登録されます。
しかし、enumを使用した場合は関東は1、関西は2、四国は3、九州は4と定義する事で、DBの中は1、1、4、3の様に保存され、Viewでは対象の文字を表示させる。
emunの利点
・データ型をintegerにするとDBに数字で登録されるが、数字だけだと数字が持つ意味が共有出来ない。
一人で開発する時は自分だけが意味を理解していればいいが、チーム開発だとチーム内で意味が理解できていないといけない。
そこで、enumを使用する事で数字が何を表しているかがチーム内で共有出来る。
emunの使用方法(モデル編)
対象にモデルに記述します。
今回はroomというテーブルのcategoryカラムにenumを使用したいと思います。
enum category: { 喜び: 0, 悲しみ: 1, 不思議: 2, 憧れ: 3, 恐怖: 4, 後悔: 5, 期待: 6, 怒り: 7 }
これで、数字と文字を関係付ける事ができました。
emunの使用方法(view編)
今回はプルダウン形式で表示させたいと思います。
<%= form_for(@room) do |f| %>
<%= f.select :category, Room.categories.keys.to_a, {} %>
<% end %>
最後に
分かりにくい記事かもしれませんが、初学者の助けになれば幸いです。
Author And Source
この問題について(『RubyOnRails』enumの使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/mailok1212/items/751141657d4fa352f30d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .