是否可以在轨道的date_select和datetime_select中为日期和月份添加前导零?



我正试图在date_select中的天和月添加前导零,对于我在文档中看到的所有内容,您只能指定:use_month_numbers:use_short_month而不是CCD_ 3。

查看rails代码,我发现date_helper.rb:中的以下代码

文件:actionpack/lib/action_view/helpers/date_helper.rb

def select_day
  if @options[:use_hidden] || @options[:discard_day]
    build_hidden(:day, day)
  else
    build_options_and_select(:day, day, :start => 1, :end => 31, :leading_zeros => false)
  end
end

在DateTimeSelector下的第856行中,有一行是:

leading_zeros = options.delete(:leading_zeros)

因此,我得到的印象是,即使你成功地覆盖了第一个方法,并用leading_zeros => true调用了DateTimeSelector,它也会在那里结束你的聚会,所以不可能这样做。

现在,我的ruby fu/rrails fu并不是那么传奇,所以我想知道——我可以覆盖rails应用程序中的类,只重新实现我想要的方法来支持leading_zeros吗?或者,实现这一点的最佳方法是什么?

编辑:如果有人问为什么他甚至需要前导零,好吧,这不是一个破坏交易的因素,也没有的必要,但我希望能够做到这一点……只是为了整个应用程序的一致性。在应用程序和报告中,日期以dd/mm/yy格式显示,但在创建记录时,用户会发现不同的格式。这并不重要,只是一个设计选择。

无论如何…我最终通过在rails应用程序中重载该方法解决了这个问题(作为测试,而不是在生产中使用它(。我想我可以结束这一点,因为"rails不支持日期中的前导零"。

非常简单,只需使用以下格式:"%-d%-m">

相关内容

  • 没有找到相关文章

最新更新