加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 将params [:date]转换为Date的禅方式?

发布时间:2020-12-17 02:54:16 所属栏目:百科 来源:网络整理
导读:将params [:date]字段转换为Date对象的最优雅方法是什么? "date"={"day"="13","year"="2012","month"="4"} 目前,我在控制器中有以下代码: @date = Date.currentif params[:date] yy = mm = dd = 0 yy = params[:date][:year].to_i if params[:date][:year
将params [:date]字段转换为Date对象的最优雅方法是什么?

"date"=>{"day"=>"13","year"=>"2012","month"=>"4"}

目前,我在控制器中有以下代码:

@date = Date.current
if params[:date]
  yy = mm = dd = 0
  yy = params[:date][:year].to_i  if params[:date][:year]
  mm = params[:date][:month].to_i if params[:date][:month]
  dd = params[:date][:day].to_i   if params[:date][:day]
  @date = Date::civil(yy,mm,dd) if Date::valid_date?(yy,dd)
end

在视图的form_tag中:

<%= select_date(@date,:order => [:year,:month,:day],:prefix => 'date') %>

解决方法

它将返回有效的日期或时间对象.试试:

@date = Date.parse("#{params[:date]['day']}-#{params[:date]['month']}-#{params[:date]['year']}") if params[:date]
OR
@date = Time.parse("#{params[:date]['day']}-#{params[:date]['month']}-#{params[:date]['year']}") if params[:date]

@date ||= Date.current

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读