Active Admin allows you to use the decorator pattern to provide view-specific versions of a resource. Draper is recommended but not required.
To use decorator support without Draper, your decorator must support a variety of collection methods to support pagination, filtering, etc. See this github issue discussion and this gem for more details.
# app/models/post.rb class Post < ActiveRecord::Base # has title, content, and image_url end # app/decorators/post_decorator.rb class PostDecorator < Draper::Decorator delegate_all def image h.image_tag model.image_url end end # app/admin/post.rb .register Post do decorate_with PostDecorator index do column :title column :image actions end end
By default, ActiveAdmin does not decorate the resource used to render forms.
If you need ActiveAdmin to decorate the forms, you can pass
decorate: true to the
.register Post do decorate_with PostDecorator form decorate: true do |f| # ... end end