Ruby on Rails チュートリアル on Cloud9 の学習録(第一章)
プロジェクトチームのタスクの一環で、Ruby on Rails チュートリアル を一通りやって、Ruby on Railsの基礎知識をつけようと言うことになりました。
操作方法やコードは、チュートリアルに書かれているので、本ブログでは、チュートリアルを進めていく上で障害となった点や気づいた点、記憶しておきたい点を記載してあります。なお、私は、ローカルに環境を一切作っていないので、チュートリアルの内容はすべて Cloud9 でやってます。
第一章 ゼロからディプロイまで
Rails が使われる理由
- 100%オープンソースで、制限の緩いMITライセンスで公開されていること。
- Railsの設計が簡潔で美しいこと。
- 最新のWebテクノロジーやフレームワーク設計に素早く適応していること。
→ RESTという設計思想の重要性に気づき対応したフレームワークのひとつ。 - 熱心かつ多様なコミュニティが存在していること。
Gemfile
railsで作成したアプリケーションの直下に作成されるファイルです。Railsはどのバージョンを使って、Rubyのバージョンは何で、データベースは何を使うのか等々、Railsで作成したアプリケーションが使っているソフトウェアとそのバージョンが定義されたファイルになっています。
Cloud9では、Ruby 1.9.3 を使っているらしく、gemfileのrubyのバージョンを、チュートリアルの通り、2.0.0にしておくとエラーになります。
追記: How to use Ruby 2.0 という記事があるが中身は読んでいない。
1.2.5 rails server
rails serverコマンドは通るが、TCPエラーでサーバーが起動しない。
追記: GitにPushして、RailsのReadmeを見ていたら、サーバーの動かし方書いてあるし(笑)下記コマンドのまま入力すれば動きます。
$ rails s -b $IP -p $PORT
しばらくすると、Cloud9から以下のコマンドが帰ってくるので、指定されたURLにアクセスすれば、アプリケーションにアクセスできます。
Cloud9 Your application is running at https://first_app-c9-<username>.c9.io
追記2: 「少佐、助けてください。減速できません!」と思ったら、Command + Cを押していました。Control + C なんですね。←Macでのウェブサーバーの止め方。
1.2.6 Model-View-Controller (MVC)
Controllerはビジネスロジック、Modelはデータ制御、Viewが画面制御ということらしい。 Controllerがウェブからのアクセスに応じて、ModelとViewを制御して結果を返す?という感じなのだろうか。まだピンとこない。
1.3 Gitによるバージョン管理
Cloud9にはgitが入っているようなので、実際に操作するのは 最初のリポジトリセットアップ から。
1.3.3Gitのメリット
controllerフォルダごと削除してしまったのですが、git checkout -f で元に戻った。バージョン管理ソフトなんだから当然なんだけど、すげー。
1.3.4GitHub
チームでBitbucketを使っているので、今回は同サービスにGit Repository を作成して、そこにプルした。
BitbucketのアカウントでログインしたCloud9は、デフォルトでSSH接続できるので、プッシュは以下の通り行った。
$ git remote add origin ssh://[email protected]/<username>/tutorial_apps.git
$ git push -u origin master
1.4デプロイする
Cloud9の機能を使ってHerokuにアップロードした。(参考:Cloud9 + Heroku)