- Add CSV import with one line of code
- Parses the file client-side and imports line-by-line to avoid Heroku timeouts
- Validates the CSV has the correct column names before importing.
Inspired by https://github.com/krhorst/active_admin_importable and makes use of Recline.js. This is a relatively heavy solution with a lot of JS dependencies, but should be easier for large imports on Heroku than first uploading to a file server.
As of v2.0.0 Active Admin master with Rails 4.1 is supported. For older versions of Active Admin use v1 of active_admin_csv_import.
Add this line to your application's Gemfile:
And then execute:
Add 'csv_importable' into your active admin resource:
ActiveAdmin.register Thing do csv_importable :columns => [:code, :name, :state_name], :import_unique_key => :code end
An import button should appear on the resource's index page. All columns are expected other than id, updated_at and created_at.
Use other delimiter than semicolon
csv_options and set the csv separator as it's showed in the file.
Wishlist / TODOS
- Add Appraisal to test against multiple versions of Rails
bundle exec rspec spec
The test suite is limited, but it's a start.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request