finds.dev← search

// the find

heartcombo/simple_form

★ 8,230 · Ruby · MIT · updated Apr 2026

Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.

simple_form is a Rails form builder DSL that wraps the standard form helpers with automatic label generation, error display, and input type inference from database column types. It targets Rails developers who want to eliminate boilerplate from CRUD forms without giving up control over markup. The wrappers API lets you define your own component stacks globally or per-input.

The column-type-to-input mapping is genuinely useful — you get the right input (email, number, textarea, etc.) without specifying it, and you can override with `as:` when the inference is wrong. The wrappers API is the standout feature: you can define named wrapper stacks and apply them at the form or field level, which keeps a consistent structure across an app without repeating HTML. I18n integration is thorough — labels, hints, placeholders, and collection options all resolve from locale files with sensible fallback chains. Custom inputs are just Ruby classes in app/inputs/, which plays nicely with Rails autoloading.

Association support is ActiveRecord-only and tested as such; if you're using Mongoid or another ORM you're on your own. The date/time inputs still render Rails' multi-select dropdowns by default, which almost no one wants in 2026 — swapping in a date picker requires a custom input and some JavaScript wiring that the library doesn't help with. The wrappers API is powerful but has a steep config surface — the initializer generated by the install generator runs to ~200 lines and can be confusing to tune. No support for Turbo Streams or real-time validation out of the box; if your form needs any dynamic behavior, you're stitching simple_form with Stimulus yourself.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →