簡単なカレンダー機能の導入方法（１）

#Gemの`simple_calendar`を使ったカレンダー機能の実装について
###[公式のGitHub](https://github.com/excid3/simple_calendar)
---
###完成形
![](https://i.gyazo.com/7d80a5ba65a8a33b44450c4c0af8754b.png)

###目次

- [Gemの導入](https://qiita.com/programming_00/items/b10e7d866a2b664f3a05#%E3%82%B8%E3%82%A7%E3%83%A0%E3%81%AE%E5%B0%8E%E5%85%A5%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)
- [CSSの追記](https://qiita.com/programming_00/items/b10e7d866a2b664f3a05#css%E3%81%AB%E8%BF%BD%E8%A8%98%E3%81%97%E3%81%BE%E3%81%99)
- [カレンダーの表示](https://qiita.com/programming_00/items/b10e7d866a2b664f3a05#%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%83%93%E3%83%A5%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%A8%98%E8%BF%B0%E3%81%97%E3%81%BE%E3%81%99)
- [まとめ](https://qiita.com/programming_00/items/b10e7d866a2b664f3a05#%E3%81%BE%E3%81%A8%E3%82%81)

##Gemの導入方法について
1.まずGemFileの最終行に『`gem "simple_calendar", "~> 2.0"`』と追記します。

```ruby:Gemfile
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

gem "simple_calendar", "~> 2.0"
```
---
2.上記のように記載ができたらターミナルで『`bundle install`』をします。

```terminal:ターミナル
$ bundle install
```
---
##CSSに追記します
1.まず『アプリ名ディレクトリ/app/assets/stylesheets/application.css』を開きます。

```javascript:追記前
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
* vendor/assets/stylesheets directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
* files in this directory. Styles in this file should be added after the last require_* statement.
* It is generally better to create a new file per style scope.
*
*= require_tree .
*= require_self
*/
```
---

2.application.cssに『`*= require simple_calendar`』を追記します。

```javascript:追記後
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
* vendor/assets/stylesheets directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
* files in this directory. Styles in this file should be added after the last require_* statement.
* It is generally better to create a new file per style scope.
*
*= require simple_calendar
*= require_tree .
*= require_self
*/
```
---
##カレンダーを表示させるためにビューファイルへ記述をします。

1.表示させたいビューファイルに下記のように記述します。

```erb:
<%= month_calendar do |date| %>
  <%= date %>
<% end %>
```
---
2.記載できたらターミナルで『`rails s`』を行います

```terminal:ターミナル
$ rails s
```
---
3.ブラウザで確認すると以下のように表示されるはずです
![](https://i.gyazo.com/7d80a5ba65a8a33b44450c4c0af8754b.png)
---

##まとめ
今回はGemのインストール、CSSの追記、ビューファイルの記載方法をまとめてみました
カレンダーの実装、マークダウンどちらも初めてで練度が低いためわかりやすく解説ができているか不安ですが、少しずつカレンダー機能もマークダウンも使いこなしていけたらなと思います。
タイトルの通り今回は『簡単なカレンダー機能の導入方法（１）』ということで、まだこれではカレンダーを表示させただけでまだ予定などを入力ができないので、次回はスケジュール投稿機能について詳しく書いていこうと思います。