Ruby開発未経験のJava/PHPエンジニアがRuby On Railsでお問い合わせフォームを作る:確認画面に都道府県名を出す編

確認画面に都道府県名を出す方法です。

確認画面ではまだモデルに値がセットされてないのでfindで引数に渡すしか無いっぽいです。

app/views/inquiries/_form.html.erb

<%= JpPrefecture::Prefecture.find(@inquiry[:prefecture]).name %>

詳細画面は一覧画面の場合は以下のようにして対応できます。

app/models/inquiry.rb

include JpPrefecture
jp_prefecture :prefecture, method_name: :pref

prefectureのカラムに対してjp_prefectureのモデルをセットできるようです。呼び出す際のメソッド名を指定できます。

app/views/inquiries/index.html.erb

<%= inquiry.pref.name %>

成果物

https://github.com/YoshiteruIwasaki/banana-mail/commit/b7c270a4fae8bf73e9ccdaaf8c23d16faf32cc75

https://github.com/YoshiteruIwasaki/banana-mail/commit/a9a3326546702187cec585a3f6931da557bd1d02