我的'事件'表有2个日期时间值来存储开始和结束日期。
他们曾经是这样的
.field
= f.label t :event_start_date
%br
= f.datetime_select :start_date
.field
= f.label t :event_finish_date
%br
= f.datetime_select :finish_date
我使用了日期时间选择器插件,它在视觉上很好用。但是,由于字段从datetime_select更改为text_field,因此在创建新事件时不会存储这些值。
这就是现在的样子:
.field
= f.label t :event_start_date
%br
= f.text_field :start_date, :class=>"datetime_box", :size=>"17"
.field
= f.label t :event_finish_date
%br
= f.text_field :finish_date, :class=>"datetime_box", :size=>"17"
如果有人需要,这就是js:
$(function() {
$('.datetime_box').datetimepicker({
minDate: new Date(),
showOn: "button",
buttonImage: "../images/pais_vasco_conciertos_teatro_musica_grupos.png",
buttonImageOnly: true
});
});
知道如何克服这个问题并存储值吗?
事件控制器
def create
categories = params[:category_ids] or []
@event = Event.new(params[:event].merge(:user_id => current_user.id, :category_ids => categories))
respond_to do |format|
if @event.save
#Mailer to seek appoval
format.html { redirect_to @event, notice: 'Event was successfully created.' }
format.json { render json: @event, status: :created, location: @event }
else
format.html { render action: "new" }
format.json { render json: @event.errors, status: :unprocessable_entity }
end
end
end
此网站有4种语言版本。此错误仅显示在英语下。所以,我想这与格式有关..
格式示例: 西班牙语和法语(作品)
"start_date"=>"30/01/2013 16:39",
"finish_date"=>"31/01/2013 16:39",
巴斯克(作品)
"start_date"=>"2013/01/30 16:38",
"finish_date"=>"2013/01/31 16:38",
英语(不起作用)
如何让MM / DD / YY工作?再次感谢
"start_date"=>"01/30/2013 16:40",
"finish_date"=>"01/31/2013 16:40",
答案 0 :(得分:0)
您需要确保传递给控制器的日期(作为字符串)可以由ruby解析。一种方法是将日期和时间格式传递给datetimepicker。试验适合您需求的格式以及ruby可以解析的内容。
尝试添加这些选项,看看是否可以解决您的问题
$(elem).datetimepicker({
dateFormat: 'M d, yy',
timeFormat: 'hh:mm tt'
});