Rails delivers incredible developer productivity, but it doesn’t cover everything out of the box. Here are a few gems I reach for in most projects:
General Additions
- audited: Track changes to your ActiveRecord models with ease, making it great for building audit trails.
- chartkick: Simplify creating interactive charts using JavaScript libraries like Chart.js, Highcharts, and Google Charts.
- cool_id: Generate short, user-friendly IDs for your models, which are perfect for URLs or sharing.
- flipper: Feature flags made easy—toggle features for specific users, groups, or environments.
- hotwire_combobox: Build dynamic combo boxes (dropdowns) using Hotwire for smooth, interactive forms.
- inline_svg: Use SVGs in your Rails views with full control, ensuring crisp and scalable images.
- local_time: Format timestamps for a user’s local time zone with zero hassle.
- pagy: A fast, lightweight pagination gem that simplifies managing large collections in views.
- noticed + web-push: Streamline building notifications, including real-time push notifications, with a clean interface, including native mobile push notifications.
- scenic: Manage database views in Rails as part of your migrations, keeping database logic maintainable.
- time_for_a_boolean: Turn booleans into timestamps—know when a flag was flipped, not just its state.
- view_component: Build reusable, testable UI components in Rails for cleaner, modular views.
- dotenv: Manage environment variables with a simple .env file, making local setup a breeze.
- factory_bot: Write clear, maintainable factories for your tests instead of seeding the database manually.
- faker: Generate fake data for your app during development and testing—names, emails, addresses, and more.
- letter_opener: Open emails sent from your app in the browser instead of actually sending them during development.
- rspec-rails: A must-have for writing clean, powerful tests in a BDD style for your Rails app.
These tools help me stay productive, build better apps, and reduce the time to get features shipped.
What about you? What gems or tools do you find yourself reaching for time and time again? Reply and let me know—I’d love to hear!