以下のサイトを参考に、AWSのEC2上で環境構築してみたので手順を残す。
Ruby on Railsとfullcalendar pluginでGoogleカレンダークローンを作る(1)
1. EC2の設定&起動
- こちらの記事などを参考に、EC2インスタンスを作成し起動する。
- 上記セキュリティグループの設定(≒ファイアウォールの設定)で、"inbound"に以下を設定しておくこと。
Protocol | Type | Port range | Source |
---|---|---|---|
SSH | TCP | 22 | Anyware[0:0:0:0] |
Custom TCP Rule | TCP | 3000 | Anyware[0:0:0:0] |
2. yum update及び、必要パッケージの追加
yum updateしておく。
$ sudo yum update
あとで必要となるパッケージ一式をインストールしておく。
$ sudo yum install ruby ruby-devel gcc gcc-c++ sqlite-devel
3. bundlerのインストール
SSHクライアントの画面で以下のコマンドを実行する。
$ gem install bundler
4. railsプロジェクトの作成
新規プロジェクトフォルダ(calendar)を作成し、初期化しておく。
$ mkdir calendar $ cd calendar $ bundle init
Gemfileが作成されるので、これを開き下記の変更(2行)を行う。
# A sample Gemfile
source "https://rubygems.org"
gem "rails" <--コメントを外す
gem "io-console" <-- 追加する
gemをインストールする。
$ bundle install --path vendor/bundle
以下のコマンドを実行する。
$ bundle exec rails new .
参考:システムのgemにrailsをインストールせずrails newする
5. fullcalendarプラグインの導入
Gemfileに、以下の2つの変更を行う。
- therubyracerのコメントアウトを外す
gem 'therubyracer', platforms: :ruby
- io-console,fullcalendar-railsの追加
gem 'io-console' gem 'fullcalendar-rails'
gemのインストール
$ bundle install
以下のメッセージが出る場合は、bundle updateを実行する。
:(省略) Running `bundle update` will rebuild your snapshot from scratch, using only the gems in your Gemfile, which may resolve the conflict.
↓
$ bundle update
6. カレンダーを表示させる
bundle exec rails g controller calendar index
生成されたテンプレートにカレンダー表示の行(1行)を追記する。
<h1>Calendar#index</h1>
<p>Find me in app/views/calendar/index.html.erb</p>
<div id=calendar></div> <-- 追記する
以下のファイルを新規に作成する。
$(document).ready(function() {
$('#calendar').fullCalendar({
})
});
以下のファイルに行を追加する。
:(省略)
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require fullcalendar <-- この行を追加(挿入)
//= require_tree .
以下のファイルに行を追加する。
:(省略)
*
*= require fullcalendar <-- この行を追加(挿入)
*= require_tree .
*= require_self
*/
アプリケーションの起動
bundle exec rails s
以下のサイトにアクセスする。
http://(EC2のURL):3000/calendar/index
おしまい。
動作確認時のバージョン
- Amazon Linux
Amazon Linux AMI 2014.03.2
- ruby
ruby 2.0.0p451 (2014-02-24 revision 45167)
- gems (bundle listの結果)
`Gems included by the bundle:
- actionmailer (4.1.5)
- actionpack (4.1.5)
- actionview (4.1.5)
- activemodel (4.1.5)
- activerecord (4.1.5)
- activesupport (4.1.5)
- arel (5.0.1.20140414130214)
- builder (3.2.2)
- bundler (1.7.0)
- coffee-rails (4.0.1)
- coffee-script (2.3.0)
- coffee-script-source (1.7.1)
- erubis (2.7.0)
- execjs (2.2.1)
- fullcalendar-rails (1.6.4.0)
- hike (1.2.3)
- i18n (0.6.11)
- io-console (0.4.2)
- jbuilder (2.1.3)
- jquery-rails (3.1.1)
- json (1.8.1)
- libv8 (3.16.14.3)
- mail (2.5.4)
- mime-types (1.25.1)
- minitest (5.4.0)
- multi_json (1.10.1)
- polyglot (0.3.5)
- rack (1.5.2)
- rack-test (0.6.2)
- rails (4.1.5)
- railties (4.1.5)
- rake (10.3.2)
- rdoc (4.1.1)
- ref (1.0.5)
- sass (3.2.19)
- sass-rails (4.0.3)
- sdoc (0.4.1)
- spring (1.1.3)
- sprockets (2.11.0)
- sprockets-rails (2.1.3)
- sqlite3 (1.3.9)
- therubyracer (0.12.1)
- thor (0.19.1)
- thread_safe (0.3.4)
- tilt (1.4.1)
- treetop (1.4.15)
- turbolinks (2.2.3)
- tzinfo (1.2.2)
- uglifier (2.5.3)
`