Ruby on rails Rails形成翻转的天数和月份

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

我有一个表单,它通过两个变量接收日期:start和:end。当我输入日期时,它们看起来是正确的,但当我保存时,模型会收到一个日期,日期和月份会翻转,当日期大于12时,比如3月13日,它只会显示零错误。 我的表单字段如下所示:

<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