Skip to content

dsozdanoski/active_admin_importable

This branch is 1 commit ahead of krhorst/active_admin_importable:master.

Repository files navigation

ActiveAdminImportable

CSV imports for Active Admin with one line of code.

Installation

Add this line to your application's Gemfile:

gem 'active_admin_importable'

And then execute:

$ bundle

Or install it yourself as:

$ gem install active_admin_importable

Usage

Add the following line into your active admin resource:

active_admin_importable

The Import button should now appear. Click it and upload a CSV file with a header row corresponding to your model attributes. Press submit. Profit.

active_admin_importable_with_end_block

This has the same function as the active_admin_importable but the block is executed at the end of the parsing loop. When a block is given the data is collected in an array and the block is called with that array once istead of calling it for each row.

Custom Import Behavior

Need to do something special with the import? active_admin_importable accepts an optional block that will be called on each row, replacing the default functionality ( calling create! on the associated model). The associated model and a hash of the current row will get passed into the block. For example:

ActiveAdmin.register Product do
   active_admin_importable do |model, hash|
      store = Store.find_by_name(hash[:store_name])
      hash[:store_id] = store.id
      hash.delete(:store_name)
      model.create!(hash)
   end
end

Contributing

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

About

CSV imports for Active Admin resources

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 88.1%
  • HTML 11.9%