ruby-on-rails – 带allow_blank的可选time_select默认为00:00
发布时间:2020-12-17 03:28:36 所属栏目:百科 来源:网络整理
导读:我正在尝试在我的表单中创建一个时间字段.我这样做: %= f.time_select :end_time,minute_step: 5,include_blank: true % 但是,当提交时,由于使用time_select自动提交默认日期信息,这就是params的样子: end_time(1i):’2000′ ??end_time(2i):’1′ ??end
我正在尝试在我的表单中创建一个时间字段.我这样做:
<%= f.time_select :end_time,minute_step: 5,include_blank: true %> 但是,当提交时,由于使用time_select自动提交默认日期信息,这就是params的样子: end_time(1i):’2000′ Rails将此解释为实际日期,并将end_time设置为00:00 是否有任何修复/锻炼能够有一个可选的时间字段?我在控制器中试过这个: if params[:event][:end_time] && params[:event][:end_time][:hour].blank? && params[:event][:end_time][:minute].blank? params[:event][:end_time] = nil end 但它似乎没有用. 任何帮助表示赞赏! 解决方法
你的参数不是[:event] [:end_time],它们是:
[:event] [‘end_time(1i)’] .. [:event] [‘end_time(5i)’]. 使param值为nil无济于事,你需要从params散列中拒绝该键;例如 params [:event] .except(‘end_time(4i)’,’end_time(5i)’)如果params [:event] [‘end_time(4i)’].空白? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |