2011-05-19 145 views
0

我无法将来自我的日期时间选择器的数据保存到我的数据库中。我正在使用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 

,这里是我的日期选择器视图:

<%= 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 %> 

需要一些帮助.. :(

+2

将日期发送到服务器的代码在哪里? – Arsen7 2011-05-19 15:48:00

回答

0

这么一两件事,在我跳出来的是你有id'd为“transaction_checkin”和“transaction_checkout”的日期选择器值输入。这难道不意味着他们会在你的PARAMS作为

{:交易=> {:签=> ...:结账=> ...}}

如果我没有误认为这意味着你试图从错误的地方从参数中提取这些值。

checkin = params[:transatcion][:checkin] 
checkout = params[:transaction][:checkout] 
+0

哦对不起,我忘了编辑它。真正的是这个。我真的不知道如何将日期时间字符串转换为实际的日期时间。 :(谢谢。 – Crisgine 2011-05-19 20:43:17

+0

试试这个:your_date_string.to_date – jaydel 2011-05-20 11:18:26

+0

实际上,它没有工作.. :(什么是DateTime.strptime? – Crisgine 2011-05-20 12:49:30

0

您可以使用Date.parse(date_string)将date_string转换为日期格式。或者你可以使用Time.parse(datetime_string),它将日期时间字符串解析为Time对象。

+0

我应该在那里?在我的控制器或在我的模型?对不起。我在菜单noob – Crisgine 2011-05-20 16:55:27

+0

它是Time/Date类的一个ruby方法,所以你可以在Model或Controller中使用它的你的愿望。 – abhidsm 2011-05-21 11:29:55