5 ms·
Truthfully, I haven't used rails_admin a lot. I can say that it is definitely more polished since it has been around much longer, but I have never tried to cust
by joncalhoun 12y ago
Truthfully, I haven't used rails_admin a lot. I can say that it is definitely more polished since it has been around much longer, but I have never tried to customize it or add in custom code so I don't know how it does there.
Maybe someone else with more experience with rails_admin could comment?
- aetherson 12y agoI've used rails_admin extensively in my last two jobs, but haven't used any of the other comparable admin frameworks. If what you want in some basic inspection of all objects with very little work, rails_admin is great. It pretty much does that, the end. Adding a little bit of role-based access levels via CanCan is also super-simple with rails_admin. Paper trail works great for a simple audit log. Customization to the level of "using friendlier names for some attributes, organizing your data logically, and showing cleaned up pretty values" is pretty painless as well. Where rails_admin gets a bit annoying in my mind is when you want to start adding custom actions (LOTS of cruft and boilerplate and magic for relatively simple results), or if you want to break out of the CRUD for models viewpoint at all. We're trying to use it to offer some non-technical people things like access into user history, and you end up fighting against the fundamental assumptions of the framework a lot. (That sounds critical. I think that overall, rails_admin is great at doing what it does. We're trying to push way past the bounds of what it does, and we're running into some troubles there, but that's to be expected). The major failing of rails_admin that I've noticed when you aren't talking about DEEP customization is that it does not handle 1:many or many:many relationships well when the number of associated documents is large. Like, we may have a model that has 500 or 5,000 child documents, and there's no easy way to paginate the list of child documents. Also, if you have a polymorphic relationship, your list of candidate child documents is just a simple HTML select, which is obviously unwieldy when the candidate list has thousands of entries.
- bshimmin 12y agoWe've had exactly this experience over the last year, trying to use Rails Admin as a cheap way to build a content management system for a moderately large site with diverse types of content where we didn't really have budget to invest in building our own CMS. Rails Admin definitely excels at getting you running very quickly by providing a simple interface for CRUD actions around basic models. Where it falls down - aside from dealing well with relationships, as you mention, which is arguably hard to get right - is when you want to extend that basic functionality and provide a better or different experience for your users. We've had to create custom views for letting users control the layout of certain content types, including various drag-and-drop operations, and that was pretty unpleasant to achieve (one of those horrible times where you just end up hopefully copying from other people's projects because figuring out how to do it yourself from the documentation is just impossible); and we've ended up writing a lot of CoffeeScript to hack Rails Admin views to do what we wanted in various circumstances - much of this ended up very fiddly due to working with a quite weighty Bootstrap DOM. Lastly, the custom DSL, while clever, suffers from the usual pitfalls that plague these types of DSLs - your code can become quite bloated and re-use is very difficult to achieve. We have half a dozen models that broadly have the same customisations in Rails Admin, but we mostly ended up copying swathes of code from one to another because there wasn't a good way to re-use any of it. The documentation is also a bit hit and miss, and issues on the GitHub issue tracker are pretty much left to fester, sadly. In summary, I'd use Rails Admin again if I wanted an interface to allow experienced users to get a quick appraisal of, or make small modifications to, the data in a project; if I were doing something involving regular users again, I can't really say I'd consider Rails Admin a good option.
- eminnett 12y agoI've been working with Ben on this project and I agree with his summary of what we've struggled with using Rails Admin. It was a great asset early in the project, but we have likely lost time over the course of the build simply trying to work around Rails Admin.