hello-world
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の編集画面に登録済みの画像プレビューを表示する

先日のActiveAdminまとめに続き今回もActive Adminネタです。

active_adminでカスタムfilter(select box)を設置する

active\_adminで管理画面を作る際にデフォルトでfilterを作ってくれますが、select boxを使いたい部分がテキスト入力になっていたりします。