Rails 및 Bootstrap4에서 캘린더 형식의 날짜 입력 양식 구현
6554 단어 Bootstrap루비Rails5DatetimePicker
하고 싶은 일
Rails로 이런 느낌의 날짜의 입력 폼을 구현한다.
환경
할 일
이 기사에서는 Bootstrap4의 설치는 기재하지 않습니다만 이 기사 뭔가가 참고가 될까 생각합니다.
htps : // 이 m / 나이키 시무라 / ms / c8db09이다 f5c11이다 df
1. Tempus Dominus 설치
먼저, Bootstrap에서 실행되는 "Tempus Dominus"라는 플러그인을 사용합니다.
htps : /// m 뿌 s 도미누 s. 기주 b. 이오 / 보오 tst 등 p-4 /
이쪽은 Bootstrap4용의 플러그 인이 되고 있습니다.
각 프레임워크에 대한 설치 방법은 Tempus Dominus 홈페이지에 있습니다.
htps : /// m 뿌 s 도미누 s. 기주 b. 이오 / 보오 tst et al p 4 / in s tat g / # 라이 ls
이번에는 Rails이므로 그에 따라
Gemfile에 쓰기
Gemfile
gem "bootstrap4-datetime-picker-rails"
bundle install 실행
터미널
XXX-MacBook-Pro:sample-app ユーザー$ bundle install
application.js에 쓰기
/app/assets/javascripts/application.js
//= require tempusdominus-bootstrap-4.js
application.scss에 쓰기
/app/assets/stylesheets/application.scss
@import "tempusdominus-bootstrap-4.css";
를 실행하여 설치를 완료합니다.
2. moment.js 설치
moment.js는 자바스크립트의 날짜, 시간 등을 다루기 쉽게 만드는 라이브러리입니다.
Tempus Dominus를 실행하는 데 필요하므로 여기도 설치합니다.
gemfile에 쓰고 bundle install 실행
Gemfile
gem 'momentjs-rails'
터미널
XXX-MacBook-Pro:sample-app ユーザー$ bundle install
인스톨 후에는 application.js에의 기입도 실시한다.
* 이때 moment.js의 require 문은 Tempus Dominus의 require 문 앞에 씁시다.
(moment.js는 Tempus Dominus보다 먼저로드해야하기 때문에)
/app/assets/javascripts/application.js
//= require moment
//= require moment/ja.js
//= require tempusdominus-bootstrap-4.js
캘린더를 일본어로 하고 싶은 경우는 moment/ko.js도 require합시다.
3. font-awesome 설치
Tempus Dominus에서는 font-awesome 아이콘을 사용하고 있으므로 여기도 설치합니다.
gemfile에 기재되어 bundle install.
Gemfile
gem "font-awesome-rails"
터미널
XXX-MacBook-Pro:sample-app ユーザー名$ bundle install
설치 후 application.scss로 import합시다.
/app/assets/stylesheets/application.scss
@import "font-awesome";
@import "tempusdominus-bootstrap-4.css";
이때 font-awesome의 import문은 TempusDominus의 import문보다 위에 기재합시다. 그렇지 않으면 TempusDominus가 font-awesome을 참조 할 수 없게됩니다.
4. HTML에 쓰기
여기까지 할 수 있으면 마지막에 HTML에 태그를 써 갑니다.
달력 포함 · 날짜 만 · 시간 만
라는 표시의 변형은 TempusDominus 홈페이지에 기재되어 있습니다.
htps : /// m 뿌 s 도미누 s. 기주 b. 이오 / 보오 tst 등 p-4 / 토끼 /
여기서 입력 폼이 닿는 상태이므로, 실제로 만져 보고 자신의 목적에 맞는 것을 선택합시다.
기본적으로, 여기의 페이지에 실려 있는 HTML 코드를 기재하면 화면상에 입력 폼이 나타납니다.
덧붙여서 이 기사의 시작 부분에 게재한 폼의 코드는 이하와 같다. (haml로 쓰고 있으므로 .erb 파일은 적절하게 읽어주세요...)
_form.html.haml
-#フォーム部分のみ記載
= form_for [任意のモデル] do |f|
.form-group.event__name
= f.label :name do
イベント名
= f.text_field :name, class: "form-control"
.form-group.event__start-time
= f.label :start_time do
開始日時
= f.text_field :start_time, class: "form-control datetimepicker-input", id: "start_time", data: {toggle: "datetimepicker", target: "#start_time"}
= f.submit "実行", class: "btn w-100"
이 양식에서 제출 버튼을 누르면 문자열 형식으로 컨트롤러에 날짜와 시간 정보가 전달됩니다.
# 文字列型でparameterに渡される("start_time"は入力フォームの項目名)
"start_time"=>"2019/01/30 10:30"
그리고는 각각, 테이블에 보존되는 표시가 되어 데이터를 사용합시다.
이상이 Rails와 Bootstrap에서 달력 형식의 날짜 입력 양식을 만드는 단계입니다.
지적, 실수 등이 있으면 코멘트를 부탁드립니다.
끝까지 봐 주셔서 감사합니다.
Reference
이 문제에 관하여(Rails 및 Bootstrap4에서 캘린더 형식의 날짜 입력 양식 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nozomi53motomachi/items/fef1b90e69b4a3b52bf7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)