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