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

[rails]active adminのindexページで条件に応じてstyleを変える

公開日時

active adminは便利ですが、カスタマイズの必要が出てきた時に公式ドキュメントだけだとかゆいところに手が届かなかったりします。

今回は一覧ページで、条件に応じて見た目を変えたい(例えばis_deleted=trueの場合のみ色を変えたい)となった場合のメモです。

app/admin/book.rb の一覧ページの記述を以下のように行っていた場合

  index do
    selectable_column
    column :id
    column :name
    column :is_deleted
    default_actions
  end

is_deleted=true の場合のみ赤色で表示するには、content_tagでタグを生成してスタイルを適用することで対応できました。

こんな感じです。

  index do
    selectable_column
    column :id
    column :name
    column :is_deleted do |f|
      f.is_deleted ? content_tag(:p, f.is_deleted, :style => 'color:red') : f.is_deleted
    end
    default_actions
  end

他にもっと良い方法があればアドバイスお願いします。


Related #active_admin

[rails][active_admin]paranoiaで論理削除したデータを管理画面で一覧表示する方法

migrationファイルにdeleted\_atを追加することで、手軽に論理削除を実装できる paranoia

[Rails]ActiveAdminでCSVダウンロード機能をカスタマイズする

ActiveAdminにはcsvダウンロード機能がデフォルトついているのですが、デフォルトのままだと一括でcsvデータを取得することができません。(管理画面表示1ページあたりの表示件数分になるので30件しか取得できませんでした)