我已使用date_select
创建包含三个字段的页面来创建日期,因此我的会话最终会包含以下字段:
{"CompanyUk"=>{"company_number"=>"12345",
"incorporation_date(1i)"=>"2011",
"incorporation_date(2i)"=>"5",
"incorporation_date(3i)"=>"27"}}
从三个不同的领域重建日期的好方法是什么?显然,我可以逐个推出它们并重新组装,但这似乎是可能的额外代码。
答案 0 :(得分:1)
((1..3).map { |i| session['CompanyUk']["incorporation_date(#{i}i)"] } * '/').to_date
答案 1 :(得分:0)
我有:
datemap = params["CompanyUk"].select {|k,v| k.start_with? "incorporation_date"}
inc_date = Date.new(*(datemap.values.map {|x| x.to_i}))
这比Mori的解决方案复杂得多。
或者,基于Mori的解决方案,但避免字符串连接:
Date.new *((1..3).map { |i| params['CompanyUk']["incorporation_date(#{i}i)"].to_i })