How do i write a cleaner date picker input for SimpleForm

后端 未结 5 1749
萌比男神i
萌比男神i 2020-12-04 07:23

I love the simple_form gem for rails but i dont like this line of code:

<%= f.input :deadline, :as => :string, :input_html => { :class          


        
5条回答
  •  情书的邮戳
    2020-12-04 08:06

    Based on @kikito's answer, I did this to get a native datepicker (i.e. no special JS classes).

    config/initializers/simple_form_datepicker.rb

    class SimpleForm::Inputs::DatepickerInput < SimpleForm::Inputs::StringInput 
      def input                    
        input_html_options[:type] = "date"
        super
      end
    end
    

    Then used it like:

    f.input :paid_on, as: :datepicker
    

    Note that if you also have a simple_form_bootstrap3.rb initializer or similar, like we did, you should:

    1. add DatepickerInput to its list of inputs
    2. make sure the simple_form_bootstrap3.rb (or similar) initializer loads after simple_form_datepicker.rb, so that the DatepickerInput class is available. Do that by e.g. renaming the datepicker initializer to simple_form_0_datepicker.rb.

提交回复
热议问题