如何从控制器获取自定义表单字段 - a.k.a.如何在表单中不使用日期帮助程序

时间:2010-02-03 02:41:32

标签: ruby-on-rails ruby

我创建了一个包含两个日期时间字段的脚手架表单。 我用datepicker替换了它们,现在我正试图从控制器中获取日期。 而不是让ruby用日期字段完成所有神奇工作,我只需要使用我想要使用的字段,start_date和stop_date,但我无法弄清楚如何从我的控制器中获取它们。提示? 谢谢!

1 个答案:

答案 0 :(得分:0)

您至少有两个选择:

  • 尝试使用Time.parse(params [:start_date])(这真的很棒)
  • 尝试自己解析内容。 (我甚至不推荐)

我一直在使用Time.parse并获得完全成功率。但请记住,如果您的应用程序跨越国家/地区边界,则数月和日的解析可能会相反。 (即2008年10月1日巴西真的是2008年1月10日,与美国标准2008年10月1日相比)。

修改

这是一个在SQLite上运行的测试应用程序的示例。它应该以同样的方式为您服务。如果不是,请告诉我:

>> a = Post.first
=> #<Post id: 1, title: "title 1 ", updated_by: nil, deleted_by: 1, created_at: "2009-11-23 18:48:23", updated_at: "2009-11-23 18:48:23">
>> a.updated_at = Time.parse('01/02/2010')
=> Sat Jan 02 00:00:00 -0500 2010
>> a.save
  Post Update (44.9ms)   UPDATE "posts" SET "updated_at" = '2010-02-03 12:59:32' WHERE "id" = 1
=> true
>>