activeadminを導入して、データを登録しようとしたらエラーが出たので、対処法を記す。
activeadminのインストールは省略する。
Anime
をactiveadminの管理下に置く。
$ bin/rails g active_admin:resource Anime
app/admin/anime/rb
ActiveAdmin.register Anime do
permit_params :title, :update_wday
end
Anime
にはenumが設定されている。
update_wday
は更新曜日を意味する。
app/models/anime.rb
class Anime < ActiveRecord::Base
.
.
.
enum update_wday: {
sunday: 0,
monday: 1,
tuesday: 2,
wednesday: 3,
thursday: 4,
friday: 5,
saturday: 6
}
.
.
.
end
上記のように設定すると、下記のような画面になる。
Create Anime
をクリックすると下記のようなエラーが出る。
enumのキーをPOSTしてやればよいので、下記のような設定を加える。
app/admin/anime/rb
ActiveAdmin.register Anime do
permit_params :title, :update_wday
form do |f|
f.inputs "Anime" do
f.input :title
f.input :update_wday, as: :select, collection: Anime.update_wdays.keys
end
f.actions
end
end
これでデータが登録できるようになった。
以上。