Rails admins can be put into 2 categories- generators, and frameworks.
Generators give you ultimate control to change anything that was generated.
However, a generator works for only what you have at the time you run the generator, and take a lot of work to adapt to changes and additions.
Frameworks adapt well to changes but limit your flexibility. They have their own special API you have to learn, and the API will always be limited.
* Generators - padrino admin, the many rails generators, ?
* Frameworks - rails_admin, ActiveAdmin, admin_assistant
I like Puffer. I view it as exactly the same as admin_assistant, which has more features. admin_assistant is designed for ActiveRecord though, and most of the Puffer functionality works out of the box for Mongoid.
The reason to prefer admin_assistant or Puffer is additional flexibility.
All admins work with fairly well with your existing models. The flexibility issue comes in changing how the controller and views behaved. The advantage of admin_assistant in comparison to rails_admin is that you are in charge of creating the controllers. Your controller inherits default behavior from admin_assistant. The default works well. But when you need customisation that your admin can't provide you can always just override the controller method. You can also achieve something similar to to this with one of the CRUD gems like inheritable_resource and some other techniques for automating the views. But an admin like admin_assistant comes with all that setup, plus some extra goodies like searching built in.
ActiveScaffold is the lost art of administry. I found no other plugin to mach it in terms of features, instant gratification, configurability, code modularity etc. Volker made a titanic job porting to rails 3 (in production on my project), and now official branch is also pushing to rails 3. Only downside is a hard learning curve (ironically it does nothing special other than you usually code Rails apps, just injects methods in controllers and a few other nuts and bolts)
I find admin_assistant to be similar to AS but does not compare in terms of features/customizability. I wouldn't call them "generators" more like "code injectors", code that you can override (a natural thing in OOP).
Another big + for AS is the plethora of plugins/bridges (that also have the same philosophy of instant gratification):
looks great- actually looks about exactly the same as admin_assitant/Puffer, just more featureful and well documented (compared to Puffer). Ironically I passed it by because it had Scaffold in the name so I thought it was a generator just like Rails scaffolding. Unfortunately I don't see any signs of Mongoid support.
The reason to prefer admin_assistant or Puffer is additional flexibility.
All admins work with fairly well with your existing models. The flexibility issue comes in changing how the controller and views behaved. The advantage of admin_assistant in comparison to rails_admin is that you are in charge of creating the controllers. Your controller inherits default behavior from admin_assistant. The default works well. But when you need customisation that your admin can't provide you can always just override the controller method. You can also achieve something similar to to this with one of the CRUD gems like inheritable_resource and some other techniques for automating the views. But an admin like admin_assistant comes with all that setup, plus some extra goodies like searching built in.