我的应用程序大量使用日期。很多ajax调用和url都涉及日期时间,我发现典型的格式"1920-10-10 18:30:00"对这些目的不太友好。我通过创建一个助手方法来解决这个问题,该方法基本上从日期(192010101830)中删除不必要的字符,并创建另一个方法将字符串转换回日期对象。
当我创建一个url时,它是这样的:
=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)测试依赖于辅助方法的操作的方法。
我认为有内置的方法。
> DateTime.now.to_s(:number)
=> "20110429162748"
> DateTime.parse("20110429162748")
=> Fri, 29 Apr 2011 16:27:48 +0000