我的数据库中有date
类型字段。
这是我正在使用的视图代码:
# Using 'as: :string' to avoid those three dropdowns rails generates.
= f.input_field :start_date, as: :string, class: 'form-control datepicker'
保存日期时,我使用一个显示日历的jquery插件,并在日期中写入:11/05/2013
。
但是,在编辑同一记录时,输入会填充值2013-05-11
。
我怎样才能使它如此简单呢?实际上尊重en.yml
中定义的日期格式?
答案 0 :(得分:30)
以下是您的需求:
f.input :my_date,
:as => :string,
:input_html => { :value => localize(f.object.my_date) }
PS:这是Google search中的第一个链接:)
答案 1 :(得分:9)
我创建了这个类,这样可以很容易地做到这一点:
f.input :my_date, :as => :date_picker
将此类添加到您的lib /文件夹中并确保包含它(或将其配置为自动加载):
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