如何从Rails select_date标记解析/生成日期对象

amj*_*jad 2 ruby ruby-on-rails-3

可能重复:
如何将Rails中的date_select返回的哈希值转换为Date对象?

我有以下日期的表格

<%= date_select(:end_date, "end",:default => Time.now , :discard_day => true)%>
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,它向控制器发送以下请求

 "end_date"=>{"(1i)"=>"2012", "(2i)"=>"12", "(3i)"=>"1"}, ...etc
Run Code Online (Sandbox Code Playgroud)

我想从控制器中的上述参数生成Date对象。

我的问题是;

  • 我是否正确发送了参数?
  • 如何从上述参数生成ruby Date对象?

小智 5

做就是了:

#from your example {"end_date"=>{"(1i)"=>"2012", "(2i)"=>"12", "(3i)"=>"1"}}
Date.parse params["end_date"].values.join("-")
=> Sat, 01 Dec 2012
Run Code Online (Sandbox Code Playgroud)