[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
他にもっと良い方法があればアドバイスお願いします。