2011-05-19 146 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