I have a date
type field in my database.
Here's the view code I'm using:
# Using 'as: :string' to avoid those three dropdowns rails generates.
= f.input_field :start_date, as: :string, class: 'form-control datepicker'
When saving a date I use a jquery plugin that shows a calendar and writes in a date like: 11/05/2013
.
But when editing the same record, the input is populated with a value 2013-05-11
.
How can I make it so simple_form actually respects my date format defined in en.yml
?
Here's what you need :
f.input :my_date,
:as => :string,
:input_html => { :value => localize(f.object.my_date) }
PS : This was the first link in google search :)
I created this class which makes it easy to do this:
f.input :my_date, :as => :date_picker
Add this class to your lib/ folder and be sure to include it (or configure it to autoload):
class DatePickerInput < SimpleForm::Inputs::StringInput
def input
value = @builder.object.send(attribute_name)
input_html_options[:value] = case value
when Date, Time, DateTime
format = options[:format] || :medium
value.to_s(format)
else
value.to_s
end
input_html_options[:class] ||= []
input_html_options[:class] << "date_picker_input"
@builder.text_field(attribute_name, input_html_options)
end
end