[rails]Active Adminのformでjp_prefectureを使う
都道府県データを扱う際に、都道府県マスターデータをどうしようかなと思っていたところ、 chocoby/jp_prefectureというgemを発見し、こちらを使わせていただきました。
モデルにはprefecture_codeというカラムを用意しておくだけでいいので、都道府県データの扱いがスッキリしますね。
通常のフォーム使用時の場合は
f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name
とすれば都道府県のセレクトボックスをいい感じに作成してくれるのですが、ActiveAdminのフォームで使用する場合は記述が異なるので、以下のようにmapで配列を加工するようにしました。
form do |f|
f.inputs "Details" do
f.input :name
f.input :prefecture_code, as: :select, collection: JpPrefecture::Prefecture.all.map {|prefecture| [prefecture.name, prefecture.code]}
end
end