Posted at

【Rails】DBから取得したデータを変換してViewに表示する方法メモ


DBのデータを英語から日本語に変換して表示したかった

こんな感じにDBに英語で保存されているデータを日本語で表示したい。

DBデータ

contact_genre(カラム名)
"GENERAL"

表示したい表記
"一般的なお問い合わせ"


現状

当たり前だがこれだとDBのデータがそのまま表示される


inquiries_controller.rb

   def show

@inquiry = Inquiry.find(params[:id])
end


show.html.erb

 <tr>

<th>問い合わせ種別</th>
<td><%= @inquiry.contact_genre %></td>
</tr>


カスタムヘルパーで解決した

今まであまり使ったことがなかったのですが、カスタムヘルパーを作って表示することができました。


inquiries_helper.rb

    def view_inquiry_contact_genre(inquiry)

case inquiry.contact_genre
when "GENERAL" then
"一般的なお問い合わせ"
else
"例外"
end
end


show.html.erb

 <tr>

<th>問い合わせ種別</th>
<td><%= view_inquiry_contact_genre(@inquiry) %></td>
</tr>