我的应用程序使用了很多日期。许多ajax调用和url涉及日期时间,我发现典型的格式'1920-10-10 18:30:00'对这些目的不友好。我通过创建一个帮助方法来解决这个问题,该方法基本上剥离了日期之外的不必要的字符(192010101830),以及另一种将字符串转换回日期对象的方法。
当我建立一个网址时,它会像这样:
=link_to "Send Date", thing_my_date_path(date_to_string(DateTime.now))
然后当thing_date动作收到时,它将参数重新转换回日期时间对象
def my_date
@date = string_to_date(params[:mydate])
....
end
这在开发中很好用。但是我完全接受其他建议。
问题是当我去测试我的应用程序时。测试失败,因为date_to_string和string_to_date的辅助方法不存在。我可以将它们包括在测试中,但我觉得它们应该分开。
所以我在寻找 a)更好的方式来传递日期,更重要的是
b)测试依赖于辅助方法的动作的方法。答案 0 :(得分:3)
有这种方法的内置方法。
> DateTime.now.to_s(:number)
=> "20110429162748"
> DateTime.parse("20110429162748")
=> Fri, 29 Apr 2011 16:27:48 +0000
希望有所帮助..