ActionView::Helpers::FormHelper
def month_field(object_name, method, options = {})

Description

Creates an <input> with type="month" for a model attribute.

Arguments

Changing a value updates the ERB and HTML.

object_name:card
method:expires_on
options= {}
Date.new(2026, 10, 11)
With a Date or Time, adds min in YYYY-MM format. A string is first parsed as a date with DateTime.parse, then formatted as YYYY-MM. A date string such as "2000-01-15" can be parsed, but a YYYY-MM string such as "2000-01" cannot, so min is omitted.
"2026-12-01"
Adds max, formatted the same way as the :min option. This example uses a string.
Date.new(2026, 11, 11)
A Date or Time is formatted as YYYY-MM. Unlike with the :min and :max options, a string is not parsed and is used as is. Takes precedence over the object's value. Defaults to the object's value, formatted the same way.
Common options

Rails handles these options the same way in every helper. Options the HTML spec does not allow on the <input type="month">, and ones this site considers rarely used, are not listed here.

Shared by form helpers

"q"
Replaces the generated name with the given value. nil omits name.
nil
Replaces the generated id with the given value. nil omits id.

Shared by all helpers

true adds disabled="disabled"; false omits it. The same goes for every HTML attribute in Rails' list (BOOLEAN_ATTRIBUTES), such as readonly, required and autofocus: any value other than false or nil adds it as attr="attr".
{active: true, hidden: false}
A hash gives the keys whose values are not false or nil, joined with spaces. An array gives its elements joined with spaces, after removing nil, false and empty strings (including whitespace-only strings).
{controller: "tags", tags_suggestions_value: ["ruby", "rails"]}
A hash adds data-* attributes, with _ in the keys converted to -. Array and hash values are converted to JSON strings.
{describedby: ["name_help", "name_error"], invalid: false}
Like :data, adds aria-* attributes. Array values are joined with spaces, leaving out nil and empty strings (nothing is added if none remain). For a hash value, the keys whose values are not false or nil are joined with spaces.
["section-user", "name"]
An array sets autocomplete to its elements joined with spaces.
Any other options become HTML attributes of the <input type="month">; those with a nil value are left out.

ERB

Changes from the previous output: Added Removed Changed


          

HTML


          

Preview

Interacting with the preview updates the form submission.

Form submission

Form data

namevalue
Request body

Content-Type:


              

params