Rails解码过期了吗?

问题描述

| 我已经使用“ 0”来创建包含三个字段的页面来创建日期,因此我的会话最终在其中包含以下字段:
 {\"CompanyUk\"=>{\"company_number\"=>\"12345\",\"incorporation_date(1i)\"=>\"2011\",\"incorporation_date(2i)\"=>\"5\",\"incorporation_date(3i)\"=>\"27\"}}
从三个单独的字段重构日期的好方法是什么?显然,我可以将它们一个一个地拉出并重新组装,但是似乎有很多多余的代码。     

解决方法

        
((1..3).map { |i| session[\'CompanyUk\'][\"incorporation_date(#{i}i)\"] } * \'/\').to_date
    ,        我有:
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 })