hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[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

参考


Related #Rails

railsとsinatraの使い分け

sinatraでアプリを作っていたら、色々機能が足りなかったので継ぎ足し継ぎ足しで色々増やしていったら結局railsのようなもの、になってしまいました。

[mysql][rails]Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

mysql5.1が動いていた環境をmysql5.6にアップデートした後、rake db:createで utf8mb4のDBを作成しようとしたところ以下のエラーが発生

[rails]omniauth-twitterで大きいサイズ(bigger)のプロフィール画像を取得する

ruby2.1, rails4.1.1で確認 omniauth-twitterを使ってtwitter認証を行った際にプロフィール画像を取得したかったのですが、デフォルト設定だと、`auth['info']['image']` に入ってくる画像URLの画像サイズが小さいので、大きい画像を取得するようにしました。

[rails]erbとunderscore.jsを一緒に使ったらundefined local variables in templatesエラーが発生

erbのテンプレート内にunderscore.js用のテンプレートを記述していたら