今回はenumの状態重複を回避することができる_prefix(接頭辞)と_suffix(接尾辞)について紹介したいと思います。enumを多用していると状態が重複してしまう場合が多々ありますが、今回の機能を使うことで一瞬で解決することができます。概要Rails5以前は同じ値を持ったenumを定義することができませんでした。以下は:activeという値が重複してしまっている例になります。enum.)しかしRails5からはenumの定義時に_prefix(接頭辞)と_suffix(接尾辞)をつけることができるようになり、同じ値を持ったenumを複数定義できるようになりました。:commentsend_prefix(接頭辞)語構成要素の一。単独では用いられず、常に他の語の上について、その語とともに一語を形成するもの。語調を整えたり、意味を添加したりする。先ほどの例に_prefix(接頭辞)を付けた場合は以下のようになります。trueendこれにより以下のようなアクセスが可能になります。conversation.comment_status_inactive!_suffix(接尾辞)語構成要素の一。単独では用いられず、常に他の語の下について、その語とともに一語を形成するもの。意味を添加するもののほかに、上の語の文法的機能を変える働きをもつものがある。デジタル大辞泉_suffix(接尾辞)を付けた場合は以下のようになります。trueendこれにより以下のようなアクセスが可能になります。trueのtrue部分にはオリジナルの値、カスタム値を設定することもできます。:commentsというカスタム値を設定しました。:commentsendこれにより以下のようなアクセスが可能になります。:commentsを定義した場合は以下のようになります。ActiveRecord::Enum今回はenumの状態重複を回避することができる_prefix(接頭辞)と_suffix(接尾辞)について紹介しました。enum値が重複してしまうため違和感のある命名になっている箇所があれば、ぜひ_prefix(接頭辞)と_suffix(接尾辞)を試してみてください。yoshi19941117TechTechMedia【Rails】特定のレコードをカウントアップすることができるincrem...【Rails6】配列から空白を取り除きたい場合はreject(&:bla...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。