2017年8月21日月曜日

Cloud9環境で「Ruby on Rails」の学習をしてみた

元ネタとなっている教科書はMichael Hartl著「Ruby on Rails チュートリアル〜実例を使ってRailsを学ぼう〜」です。
ほとんど、教科書に書いてあるとおりやればうまくいきますが、rubyのバージョンの違いなどでエラーが出ることもありますが次の事を心がければ解決してしまうというところが素晴らしいと思いました。
1.ターミナルに表示されるWarning(警告)やErrorを良く読む。中に親切にも解決法が書いて有る場合がよくあります。
2.それでも解決しない場合はエラーメッセージをコピーしグーグル先生に聞く(検索する)。これが意外と便利で効果的。さすがです。

Cloud9というクラウドIDEサービスが大好き

その理由(わけ)とは
1.必要なRailsチュートリアル用Cloud9ワークスペースが準備されている
2.Web開発に必要な三種の神器であるテキストエディタ、ファイルブラウザ、コマンドラインターミナルもしっかり組み込んである。
ide_anatomy.png

Ruby on Railsとは

Web開発を楽しくするためのフレームワーク。野球やサッカー、ラグビーだって、ルールがわかんないとつまらないよね。
Ruby on Railsだって同じよ。ルールを覚えりゃ、こんな楽しいWeb開発作業ってないんじゃない?たぶん。

事前設定済みのクラウド環境Cloud9の利用

サインアップして、Cloud9が使えるようになったら、さっそくRuby on railsに特化したワークスペースを作成する。無料版の場合はプライベートなプロジェクトは最大1個までしか作れないことに留意。
当然ですが、Templateには「Rails Tutorial」を選択します。
cloud9_new_workspace_4th_ed.png
タブはスペース2個に設定しておく。テキストエディタ部の右下にワンタッチでタブを定義できるボタンがあるが、右上の歯車アイコンから全体設定をしてしまうのが一番楽でしょう。
cloud9_two_spaces.png

railsコマンドですること

アプリケーションの骨組みをつくる

ターミナル
# ----------------------------------------------------
#   作業ディレクトリに移動
#   ここではworkspaceというディレクトリを使っている
# ----------------------------------------------------

$ cd ~/workspace

# ----------------------------------------------------
# アプリ(ここではtoy_app)を生成する
# rails コマンドの後に バージョン5.1.2と指定していることに留意
# ----------------------------------------------------

$ rails _5.1.2_ new toy_app

# ----------------------------------------------------
# 作業ディレクトリの中にアプリ(ここではtoy_app)ディレクトリが
# 作られるので、そのディレクトリに移動して、以降の作業をする。
# ----------------------------------------------------

$ cd toy_app

コントローラのアクション追加/ルートルーティング変更

Gitによるバージョン管理

作成したアプリケーションをHerokuの本番環境にデプロイ

gitコマンドを使う。あまりに簡単なので実行するたびにある種の感動を覚える。
ターミナル
# gitの状態を確認する
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean

# herokuの本番環境にプッシュする
$ git push heroku master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 517 bytes | 0 bytes/s, done.

・
・
・
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/stark-depths-73072.git
   e7af4fb..775c756  master -> master