プログラミングガール

Developing a better me

Rails Admin:Custom Actionの追加

デフォルトのアクションオプション

まずはじめに、Rails Adminのアクションにはこんなデフォルトオプションがあるよ、というご紹介。 オプションのデフォルト値一覧は以下のファイルに書かれている。

github.com

  • register_instance_option :collection?
    • モデル単位のアクションか
    • デフォルト値: false
  • register_instance_option :member?
    • オブジェクト単位のアクションか
    • デフォルト値: false
  • register_instance_option :controller
    • コントローラーアクションの中身
  • register_instance_option :bulkable?
    • 一括更新か
    • デフォルト値: false
    • モデル単位のアクションのみ
    • コントローラー内で params[:bulk_ids] を処理する必要がある
  • register_instance_option :http_methods
    • 扱うHTTPメソッド
    • デフォルト値: [:get]

などなど。

アクションコントローラーの追加

RailsAdminでアクションコントローラーを作成すると、下記のようにタブが追加される。 今回は表示順を変更し、一括で保存するアクションを作成した。

f:id:hana_ori:20160115192257p:plain


手順
1. lib配下にファイルの作成(今回は display_order_action.rb とした)

2. config/initializers/rails_admin.rb にカスタムアクションの存在を明記する

3. app/views/rails_admin/main 配下に表示する viewファイルを用意する(今回は display_order_action.html.erb とする)

所感

苦しみを感じた。

参考資料