{"repo":"excid3/madmin","free":true,"listed":false,"github":"https://github.com/excid3/madmin","clone":"git clone https://github.com/excid3/madmin.git","description":"A robust Admin Interface for Ruby on Rails apps","language":"Ruby","stars":760,"topics":["ruby","ruby-on-rails","admin","hacktoberfest","rails","admin-dashboard"],"license":"MIT","category":"dashboards-admin","readme_excerpt":"Madmin 🛠 A robust Admin Interface for Ruby on Rails apps Why another Ruby on Rails admin? We wanted an admin that was: - Familiar and customizable like Rails scaffolds (less DSL) - Supports all the Rails features out of the box (ActionText, ActionMailbox, has secure password, etc) - Stimulus / Turbolinks / Hotwire ready - Works with Import maps and Sprockets Installation Add madmin to your application's Gemfile: Then run the madmin generator: This will install Madmin and generate resources for each of the models it finds. Resources Madmin uses Resource classes to add models to the admin area. Generate a Resource To generate a resource for a model, you can run: Avoid N+1 queries In case of N+1 queries, you can preload the association by overriding the scoped resource method in the controller: Read-only Resources To expose a resource in the admin without allowing writes, override readonly? in the resource: The new, edit, and delete links are hidden for read-only resources, and any write actions redirect back to the index. Scopes Declare scopes on a resource to render filter buttons on the index page. Each scope must be a scope or class method on the model: Button labels default to the humanized scope name. To customize or translate them, define an I18n key — madmin.scopes. . for one resource, or madmin.scopes. shared across resources: For labels that need logic (e.g. looking up a record name), override scope label : Configuring Views The views packaged within the gem are a gre","default_branch":null,"files":null,"tree":[],"storefront":"/r/excid3","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/excid3/madmin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}