2016-04-11 20 views
1

Yılbaşında ve bitiş tarihinde bir düzenleme formum var. Kayıtlı değerleri varsayılan tarih olarak göstermek istiyorum.date_select raylarında varsayılan değeri nasıl belirlenir ve alınır

Bu

<%= f.input :year_start_date, :label => 'Year Start Date', :as => :date_select, :include_blank => false, 
         :input_html => { :id => 'y_start_date'}, prompt: { day: year_start_date.day, month: Date::MONTHNAMES[year_start_date.month], year: year_start_date.year}, data: year_start_date %> 

Yani onun cezası denenmiş ve saklanan değerlerin db göstermeye başlamıştır.

Ama sadece ay değişen am zaman konudur, parametreler

"year_start_date(1i)" => "", "year_start_date(2i)" => "3", "year_start_date(3i)" => "" 

olacak ve buna geçersiz tarih hatası atar boş dizeleri içerdiğinden denetleyicisi [ school_params['year_start_date(1i)'], school_params['year_start_date(2i)'], school_params['year_start_date(3i)'] ].join('-').to_date

yapıyorum.

Hiçbir şey seçilmediğinde varsayılan değerleri (bu durumda tarih ve yıl) istiyorum. Bunu nasıl başarabilirim?

Düzenleme 1:

parametreler

{ 
       "utf8" => "✓", 
      "_method" => "patch", 
    "authenticity_token" => "abcffdgfdgfgfgf==", 
       "school" => { 
         "name" => "Test School", 
        "board_id" => "1", 
    "board_registration_number" => "", 
        "subdomain" => "testschool", 
         "email" => "", 
         "website" => "", 
         "address" => "NA", 
         "city" => "NA", 
         "pincode" => "", 
        "country_id" => "1", 
       "country_state" => "Tamil Nadu", 
         "phone" => "NA", 
        "inc_year" => "", 
        "handler_id" => "14451", 
      "year_start_date(1i)" => "", 
      "year_start_date(2i)" => "1", 
      "year_start_date(3i)" => "", 
      "year_end_date(1i)" => "", 
      "year_end_date(2i)" => "", 
      "year_end_date(3i)" => "" 
    }, 
       "button" => "", 
      "controller" => "sat/schools", 
       "action" => "update", 
        "id" => "2" 
} 
+1

Bu bir cevap değil, bir öneri: 'datepicker' js eklentisini kullanın. – Emu

+0

tarih biçimini dönüştürmek için – uzaif

+0

@uzaif .to_date kullanarak date_format'a dönüşümü yapıyorum. Hatta ben de Date.new (school_params ['year_start_date (1i)']. To_i, school_params ['year_start_date (2i)']. To_i, school_params ['year_start_date (3i)']. To_i) ve hala aynı hatayı alıyorum. . – Jazmin

cevap

0

yerine çirkin tarih/tarih saat girişi sadece ek kütüphaneler eklemek zorunda kalmadan tarayıcı tarafından sağlanan tarih seçiciyi kullanabileceği kullanarak:

f.input :year_start_date, :label => 'Year Start Date', as: :string, input_html: { type: "date" }

İlgili konular