Forms in Rails
Primer contains a framework for declaratively building Rails forms. It was designed specifically for accessibility and consistency with the Primer design system.
On this page
On this page
Creating accessible forms can be challenging. Forms are a common source of accessibility issues, and can hinder someone from successfully completing and submitting a form. This can be true even for people who do not use assistive technologies.
The Primer forms framework is designed to be accessible by default, integrate deeply with Rails, follow web standards, and adhere to Primer's form interface guidelines.
Example
Forms are defined as Ruby classes...
class SignInForm < ApplicationFormform do |sign_in_form|sign_in_form.text_field(name: :username, label: "Username")sign_in_form.text_field(name: :password, label: "Password")sign_in_form.submit(label: "Sign in")endend
...and rendered like view components.
<%= primer_form_with(url: "/sign-in") do |f| %><%= render(SignInForm.new(f)) %><% end %>
Documentation
The forms framework is capable of much more. For full documentation, see the Primer forms docs.