0

많은 스트레스를받은 다음 마침내 datepicker gem을 사용하여 미니 달력을 열고 필드에 날짜를 입력하십시오.bootstrap-datepicker-rails를 사용하고 있습니다. 이제는 날짜가 문자열이지만 날짜로 db에 저장해야합니다.

$jQuery -> 

$(document).on "focus", "[data-provide~='datepicker']", (e) -> 
- $(this).datepicker 
- format: "yyyy-mm-dd" 
- weekStart: 1 
- autoclose: true; 

이 jQuery를 스크립트를 사용에도 불구하고 는 ... 분야에서 반환 된 날짜는 MM/DD/YYYY 형식으로 아직도있다. 데이터베이스에서 문자열 필드를 사용하고자하는 한 괜찮습니다. (그리고 데이터베이스를 재구성하는 것을 감수 할 수도 있습니다.)하지만 start_date에서 간단한 수학 함수를 수행해야합니다. 즉, date를 사용하여 데이터베이스를 만든 이유입니다. 처음에는 문자열 필드 대신 필드를 사용합니다.

그래서 두 가지 중 하나를 수행해야합니다. 데이터베이스 필드를 문자열로 다시 포맷하고 (내 수학 계산에서 Date.parse()를 사용) 텍스트 필드에 반환 된 날짜를 저장하는 방법을 찾고,

<div class="field"> 
    <%= f.label :end_date %><br> 
    <%= f.text_field :end_date, 'data-provide' => 'datepicker' %> 
    </div> 

... mysql 날짜 필드로 포맷 된 yyyy-mm-dd. 양식을 제출하기 전에 _form.html.erb 문서에서이를 수행 할 수있는 방법이 있습니까?

또는 bootstrap-datepicker-rails 플러그인에 입력 필드를 text_field가 아닌 날짜 필드로 만들거나 반환 값을 a 대신 date로 변환 할 수있는 매개 변수/옵션이 있습니까? 끈?

+0

나는 f.text_field 대신에'f.date_field'를 사용했고, 2 개의 달력 위젯이 나타났습니다 (bootstrap-datepicker에 의해 생성 된 것으로 생각됩니다). 부트 스트랩 위젯은 날짜를 저장하지 않았지만 "새"부트 위젯은 날짜를 저장하지 않았습니다. 레일즈는'date_field'를 사용하여 이것을 무료로 포함하고 있습니까, 아니면 여전히 그것을 생성하고있는 보석입니까? (나는 javascript 명령을 지웠지 만 datepicker.js 나 .css는 지우지 않았다.) 그렇다면 왜 사람들은 datepicker 플러그인으로 고생하고 있습니까? 레일 4에 새로운가? – notewrangler

답변

0

// 여기 용액
object.date = Date.strptime. (PARAMS [: 날짜, '%의 m/% D/% Y') 코드있어서

// 변경 날짜 형식 TO_DATE

+0

팁 주셔서 감사! – notewrangler