Sha256: 529362816a1cfe93c7a45a438bf4da4098816dbf44696893a4e7d97d7238d37c

Contents?: true

Size: 1.98 KB

Versions: 7

Compression:

Stored size: 1.98 KB

Contents

# AbAdmin

Simple and real-life tested Rails::Engine admin interface based on slim, bootstrap, inherited_resources, simple_form, device, cancan.

## Installation

To build a new Rails application with AbAdmin, run:

```bash
rails new [MyAppName] -m https://raw.github.com/leschenko/ab_admin/master/lib/generators/template.rb
```

Or add [list of gems](https://gist.github.com/leschenko/752aaa0f03323aa8c6b3) to an existing application and run generators:

```bash
rails generate devise:install
rails generate simple_form:install --bootstrap
rails generate ab_admin:install
```

## Usage

To generate admin resource for model, run:

```bash
rails generate ab_admin:model [MyModelName]
```

Admin resource is just a class in `app/models/ab_admin` directory like this:

```ruby
class AbAdminProduct < AbAdmin::AbstractResource
  preview_path :product_path

  settings comments: true

  table do
    field :sku
    field(:picture) { |item| item_image_link(item) }
    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:

```bash
rails generate ab_admin:resource [MyModelName]
```

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ab_admin-0.3.6 README.md
ab_admin-0.3.5 README.md
ab_admin-0.3.4 README.md
ab_admin-0.3.3 README.md
ab_admin-0.3.2 README.md
ab_admin-0.3.1 README.md
ab_admin-0.3.0 README.md