我正在尝试为某个日期字段创建输入表单(使用jquery-ui选择日期)
我正在使用rails 4,它总是考虑这个dd/mm/yyyy
,同时我的输入是mm/dd/yyyy
我在config / locales / en.yml中更改了如下:
en:
hello: "Hello world"
date:
order:
- month
- day
- year
但结果仍然相同。
我的调试
(rdb:1) @booking
Booking id: nil, **booking_date: nil**, guest_name: "as",
(rdb:1) booking_params
{"booking_date"=>"04/24/2014", "guest_name"=>"as",
这可能是初学者的问题,谢谢你的帮助
供参考,这是我的控制器
def create
@booking = Booking.new(booking_params)
debugger
if @booking.save
flash[:success] = "data saved succesfully"
redirect_to bookings_path
else
render 'bookings/booking_form'
end
end
这是视图
<%= form_for @booking do |f| %>
<%= render 'common/form_errors', object: @booking %>
<p>
<%= f.label :booking_date, "Booking Date" %>
<%= f.text_field :booking_date, :class => :datepicker %>
</p>
答案 0 :(得分:0)
您可以通过声明一种方法来执行此操作,例如update_date
以params作为参数,并在执行保存或更新之前在您的操作中调用此方法,请查看此示例
def update_date(params)
date_string = params[:booking][:booking_date].split("-")
params[:booking][:booking_date] = date_string[1]+"-"+date_string[0]+"-"+date_string[2]
end
您也可以将它放在before_filter
中,因此您可以按照自己的意愿实施,我已经为您提供了逻辑。
答案 1 :(得分:0)
在选择值本身时,只需更改date format
datepicker
:
检查:http://jsfiddle.net/d6mSA/187/
<script>
//make sure you have referenced `JQuery` and `JQuery-UI` resources before the code below
$( document ).ready(function() {
$('.datepicker').datepicker({ dateFormat: 'dd-mm-yy' })
});
</script>
希望有所帮助:)