我无法将来自日期时间选择器的数据保存到我的数据库中。我正在使用Sql Server 2005数据库。
这是我的application.js中的代码
$(function() {
var dates = $( "#checkin, #checkout" ).datetimepicker({
dateFormat: 'mm/dd/yyyy hh:MM:ss TT',
defaultDate: "+1w",
changeMonth: false,
numberOfMonths: 2,
minDate: new Date(),
onSelect: function( selectedDate ) {
var option = this.id == "checkin" ? "minDate" : "maxDate",
instance = $( this ).data( "datetimepicker" ),
date = $.datetimepicker.parseDate(
instance.settings.dateFormat ||
$.datetimepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datetimepicker( "option", option, date );
}
});
});
这是我的控制器:
def step2
@cart = current_cart
checkin = params[:checkin]
checkout = params[:checkout]
@amenities = Amenity.available(checkin, checkout)
session[:checkin] = checkin
session[:checkout] = checkout
end
这是我的datepicker视图:
<%= form_tag :action => 'step2' do %>
<%= label_tag 'checkin', "From:" %>
<%= text_field_tag :checkin, params[:checkin] %>
<%= label_tag 'checkout', "To:" %>
<%= text_field_tag :checkout, params[:checkout] %>
<%= submit_tag 'Show Availability' %>
<% end %>
在这里我将开始插入我的数据库:
<%= form_for(@transaction, :validate => true) do |f| %>
<%= f.hidden_field :Transaction_Date, :value => Time.now %>
<%= f.hidden_field :rsv_type, :value => "Online" %>
<%= f.hidden_field :rsv_status, :value => "Pending" %>
<%= f.hidden_field :checkin, session[:checkin] %>
<%= f.hidden_field :checkout, session[:checkout] %>
#...
<% end %>
需要一些帮助.. :(
答案 0 :(得分:0)
所以有一件事突然出现在我面前,你已经获得了datepicker值输入id&#39; d as&#34; transaction_checkin&#34;和&#34; transaction_checkout&#34;。这并不意味着他们会在你的参数中
{:transaction =&gt; {:checkin =&gt; ...,:checkout =&gt; ...}}
如果我没有弄错,那就意味着你试图将这些价值从错误的地方拉出来。
checkin = params[:transatcion][:checkin]
checkout = params[:transaction][:checkout]
答案 1 :(得分:0)
您可以使用Date.parse(date_string)将date_string转换为日期格式。或者您可以使用Time.parse(datetime_string)将日期时间字符串解析为Time对象。