Ruby on rails Rails形成翻转的天数和月份
我有一个表单,它通过两个变量接收日期:start和:end。当我输入日期时,它们看起来是正确的,但当我保存时,模型会收到一个日期,日期和月份会翻转,当日期大于12时,比如3月13日,它只会显示零错误。 我的表单字段如下所示:Ruby on rails Rails形成翻转的天数和月份,ruby-on-rails,Ruby On Rails,我有一个表单,它通过两个变量接收日期:start和:end。当我输入日期时,它们看起来是正确的,但当我保存时,模型会收到一个日期,日期和月份会翻转,当日期大于12时,比如3月13日,它只会显示零错误。 我的表单字段如下所示: <div class="input-group date" id="datetimepicker4" data-target-input="nearest"> <%= f.text_field(:start, value: f.object.s
<div class="input-group date" id="datetimepicker4" data-target-input="nearest">
<%= f.text_field(:start, value: f.object.start ? f.object.start.strftime('%m/%d/%Y %l:%M %p') : nil, class: "form-control datetimepicker-input", data: {target: "#datetimepicker4"}, placeholder: "#{t :From}", required: true) %>
<div class="input-group-append" data-target="#datetimepicker4" data-toggle="datetimepicker">
<div class="input-group-text"><span class="fas fa-calendar-alt"></span></div>
</div>
</div>
与:end
变量相同
输入表单如下所示:
结果如下:
看起来您试图使用US日期格式,但rails正在解析提交的参数,并切换了月份和日期。我不确定您是否喜欢使用美国或国际日期格式,我建议您检查rails如何处理提交的参数 另外,请查看您使用的日历日期时间选择器的默认值 更新。 我会尽量提供更多细节。在我的一个项目中,我使用了类似的日期时间选择器,如下所示 提交后,您将在我们的控制器中拥有以下参数
{“日期时间选择器输入字段”=>“2020-01-20”}
。
我的日期时间选择器将日期格式化为YYYY-MM-DD的原因是,在视图代码中,我使用了一个选项,该选项在初始化时由日期时间选择器代码执行,类似于
date\u格式:“yyyy-mm-dd”,
(这在您使用的日期时间选择器中可能有所不同,我在前面建议您检查有关您可以使用的选项的文档)
我不必使用提供给
文本\u字段的strftime on date time,因为date time JS code将按照您选择的格式格式化日期。感谢您的澄清。你知道我应该换哪个部件吗?我已经坚持了三天:(我可以看到参数被传递为:“start”=>“02/21/2020 3:01 PM”,“end”=>“02/21/2020 4:02 PM”你的参数是这样的,因为你用代码f.object.start.strftime(“%m/%d/%Y%l:%m%p”)格式化了它们
,查看在翻转日和月的位置时会得到什么:f.object.start.strftime(“%d/%m/%Y%l:%m%p”)z