はじめてのactive_admin 【カスタマイズ編 その2】
バックナンバー
はじめてのactive_admin 【カスタマイズ編 その1】
はじめに
本日は、前回予告していた通り 表示している内容を整理する
方法を紹介したいと思います。
デフォルトの設定のままだと、テーブルに定義したカラムに全てが表示されるようになっています。
しかし、管理画面では リレーションをはるために作成したカラムや、作成した時間など 管理画面上では必要ないものが少なくありません。
必要ないものを表示しておくと見づらくなり、操作する上で不便なので必要ないものは表示しないようにしたいと思います。
表示される内容を整理する
今回はサンプルとして、 id
, title
, thumbnail
, created_at
のみを表示しようと思います。
# app/admin/topic.rb ActiveAdmin.register Topic do index do column :id column :title column :thumbnail column :created_at end
表示する内容を整理する場合は index
とcolumn
を使用して表示するデータを定義します。
下記のように index内で定義されたcolumnだけ表示する用になりました。
注意点として、テーブルのカラム名とindex内で定義しているcolumn名が同じならそのままデータが表示されますが、違う場合は何も表示されません。
画像を表示する
thumbnail画像はリンクのURLではなく、画像をそのまま表示したくなると思います。
その場合は下記のようにすることで、画像を表示することができます。
column :thumbnail do |topic| image_tag(topic.thumbnail) end
画像が表示されました!
topic には Topicモデルのオブジェクトが入ってきます。
column 名を変える
あまり無いかと思いますが、モデルのカラム名と表示する名前を変えたい場合が出てきた場合は
column :hogehoge do |topic| content_tag :p, topic.id
この様な感じで、独自の名前でもナビゲーションを定義することができます。
まとめ
これで、見やすい管理画面を作ることができるのではないでしょうか? 是非、使ってみてください。
次回は、詳細ページを作成し、カスタマイズする
を紹介したいと思います。