相关疑难解决方法(0)

带allow_blank的可选time_select默认为00:00

我正在尝试在我的表单中创建一个时间字段.我这样做:

<%= f.time_select :end_time, minute_step: 5, include_blank: true %>
Run Code Online (Sandbox Code Playgroud)

但是,当提交时,由于使用time_select自动提交默认日期信息,这就是params的样子:

end_time(1i): '2000' end_time(2i): '1' end_time(3i): '1' end_time(4i): '' end_time(5i): ''

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
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.

任何帮助表示赞赏!

ruby-on-rails

5
推荐指数
2
解决办法
1778
查看次数

标签 统计

ruby-on-rails ×1