Web + Life Hack

〜True But Useless〜

【rails】ここで詰まった!数字カラムを文字表示する時の注意点!

テーブルではデータ型がintgerだけど、それをそのまま数字で表示してもなんのこっちゃってこと、ありますよね。

例えば「有効/無効」のフラグ。

DBではフラグで登録するため、0または1で登録すれば良いですが、

表示させる際は、「有効/無効」にしなければ、ユーザーは理解できません。

そのため、以下のロジックが必要になります。

では、その手順をいかに。

 

①モデルにロジックを追記。

ここではモデルのファイルをHoge.rbとします。

 

Hoge.rb内

 

module PogeType

FALSE = 0

TRUE = 1

 

NAME = {

FALSE => "無効",

TRUE => "有効",

}.freeze

end

 

②表示させたいviewにロジックを追記。

 

<%= Hoge::PogeType::NAME[hoge.poge_type]%>

 

 

もっといろんなやり方があるんでしょうが、ソースの可読性と高度なエンジニアスキルが必要ないというところを考慮するとベターではないでしょうか。

 

同じところで詰まった人の参考になればと思います。