我正在尝试修改simple_form允许用户在表单上以小时和分钟输入时间的方式。我的应用程序在Ruby on Rails(4)中,它目前显示年,月和日。但是,日期时间(小时和分钟)目前以军事时间显示。我曾多次尝试将其配置为使用AM和PM选项显示标准时间。
目前,我已经写了部分内容来显示信息。
_form.html.haml
= simple_form_for(@order, html: {class: 'form-horizontal'}) do |f|
=f.input :date, label: "Date", input_html: {class: DateTime.now.strftime("%B %C, %Y - %r")}
=f.input :name, label: "Name", input_html: {class: "form-control"}
=f.input :pickup, label: "Pick-up", input_html: {class: "form-control"}
=f.input :pickuptime, label: "Pick-up Time", input_html: {class: "form- control"}
%br/
=f.button :submit, class: "btn btn-danger btn-lg"
尽管如此,它仍然显示具有军事时间选项的表格。
如何更改表格,以便选择标准时间AM或PM?
答案 0 :(得分:1)
您只需要验证模型中的日期时间对象,以及实际看起来如何
和rails会以正确的方式查看它。
通常你是通过i18n做的。但对你而言:
class MyClass
validate :myDatetime
private
def myDatetime
date.strftime(%m.%d.%Y %H:%M)
end
end
应该有效。
一点提示,您不必在每个表单中指定简单表单按钮的类名。 您可以在config / initializers / simple_form.rb中指定它:
config.button_class ='your btn name'
=>很干
答案 1 :(得分:0)
也许这可以帮到你:https://github.com/plataformatec/simple_form/issues/1328 看来你必须自己构建它。 或者,如果您使用的是bootstrap:http://eonasdan.github.io/bootstrap-datetimepicker/(我从未使用过它)