Simple and real-life tested Rails::Engine admin interface based on slim, bootstrap, inherited_resources, simple_form, device, cancan.
To build a new Rails application with AbAdmin, run:
rails new [my_app_name] -m https://raw.githubusercontent.com/leschenko/ab_admin/master/lib/generators/template.rb
Or add gems from template list of gems to an existing application and run generators:
rails generate devise:install
rails generate simple_form:install --bootstrap
rails generate ab_admin:install
To generate admin resource for model, run:
rails generate ab_admin:model [MyModelName]
Admin resource is just a class in app/models/ab_admin
directory like this:
class AbAdminProduct < AbAdmin::AbstractResource
preview_path :product_path
settings comments: true
table do
field :sku
field :picture, image: true
field :name, sortable: {column: :id, default_order: 'desc'}
field :is_visible
field :collection
field :created_at
end
search do
field :sku
field :name
field :is_visible
field :collection
field :created_at
end
export do
field :sku
field :name
field(:price) { |item| "$#{item.price}" }
field :is_visible
field :collection
field :created_at
end
form do
group :base do
field :sku
field :price
end
field :is_visible
field :collection, as: :association
locale_tabs do
field :name
field :description
end
field :picture, as: :uploader
field :map, as: :map
end
end
To generate full admin resource (controller, views, helper) for model, run:
rails generate ab_admin:resource [MyModelName]
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request