heartcombo / simple_form

Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
http://blog.plataformatec.com.br/tag/simple_form
MIT License
8.21k stars 1.31k forks source link

Support for weekday_select in Rails 7 #1770

Closed ephracis closed 2 months ago

ephracis commented 2 years ago

Hi,

I would like to use the weekday_select form helper.

In my particular case I have a model with an integer attribute called weekday, 0 to 6. Then the form looks like this:

<%= form.weekday_select :weekday, { index_as_value: true }, class: 'form-select' %>

The nice thing here is that it automatically gets localized and translated.

Unfortunately I cannot find a way to use weekdays in Simple Form. Is it not supported, not documented, or am I just not looking at the right place?

Thanks!

maful commented 10 months ago

Facing the same issue, hope this helps

You can create custom inputs and use weekday_select there https://github.com/heartcombo/simple_form#custom-inputs

Here is an example of mine,

# app/inputs/weekday_select_input.rb
# frozen_string_literal: true

class WeekdaySelectInput < SimpleForm::Inputs::CollectionSelectInput
  def input(wrapper_options = nil)
    merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)

    @builder.weekday_select(attribute_name, input_options, merged_input_options)
  end
end

and use it in your views

<%= f.input :day_of_week, as: :weekday_select, index_as_value: true, include_blank: false %>
nashby commented 2 months ago

@ephracis @maful thanks for heads up! It's been implemented in master branch now!