Decorators
Active Admin supports the use of decorators for resources. Resources will be
be decorated for the index and show blocks. The
draper gem is recommended but not required
(more on requirements below). Note, that Active Admin works out of the box with
Draper >= 1.0.0
.
Configuration
ActiveAdmin.register Post do
decorate_with PostDecorator
end
Example Usage
This example uses draper.
# Gemfile
gem 'draper', '>= 1.0.0'
Assuming a post and a post decorator
class Post < ActiveRecord::Base; end
class PostDecorator < ApplicationDecorator
decorates :post
def image
h.image_tag model.image_url
end
end
Then the following is possible
ActiveAdmin.register Post do
decorate_with PostDecorator
index do
column(:title)
column(:image)
end
show do
attributes_table do
row(:title)
row(:image)
end
end
end
Forms
Note that the resource proveded to form_for also gets decorated.
In most cases this will work as expected. However, it is possible to disable
automatic decoration in the form with the decorate
option:
ActiveAdmin.register Post do
decorate_with PostDecorator
form decorate: false do
# ...
end
end