こんにちは、Masaです。
今回は前回のActive Admin(導入編)の続きでActive Admin(基礎編)です。
フォームのカスタマイズ
form do |f| f.inputs do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
上記はactive adminをインストールした際にapp/admin/admin_user.rbが作成されます。現状だと以下のような画面でフォームが表示されます。
emailフォームを消したい場合はここの f.input:email
を削除するとフォームが削除されます。反対に追加したい場合はここに同じようにf.input:column
を追加してあげるとフォームに追加できます。
一覧ページのカスタマイズ
一覧ページのカスタマイズも先ほど説明したapp/admin/admin_user.rbの中に記載されております。
index do selectable_column
row :email
row :created_at
end
削除したいカラムがあればここで削除し、追加したいカラムがあれば追加します。フォームのカスタマイズ同様に特にこちら側でViewを用意して、編集する必要はないので非常に便利ですね!
詳細ページ
詳細ページはapp/admin/admin_user.rbに最初から記載されていないので自分で追加してあげないといけませんと言っても一覧のコードとそれほど変化はありません。app/admin/admin_user.rbに簡単にですが以下のコードを追加してあげましょう。他にも色々と追加の仕方がありますが、デフォルトの形だけここでは記載します
show do attributes_table do
row :email
row :created_at
end
end
これでテーブルにメールアドレスと登録日時が表示されるようになると思います。一覧と同様に追加したい場合はcolumn: mycolumns
で追加してあげましょう。
フィルターの設定
フィルターはapp/admin/admin_user.rbに最初から記載されております。
filter :email
filter :current_sign_in_at
filter :sign_in_count
filter :created_at
フィルターも今までの記載通りにfilter :emailとすればメールアドレスが検索条件に追加されます。そもそもフィルターなんていらないよという方は以下のコードを追加していただければフィルターごと削除することができます。
config.filters = false
まとめ
いかがでしたか?Active Adminを使用するとViewを用意することなく簡単に画面を編集することができます。CRUD機能も既に用意されておりますのでcontrollerも編集することなく追加・編集・削除することができます。次は日本語化対応や見た目を大きく変える方法などを書いていこうと思っております。
以上です、ここまで読んでくださりありがとうございました。