New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

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://git@bitbucket.org/<username>/tutorial_apps.git
$ git push -u origin master

 1.4デプロイする

Cloud9の機能を使ってHerokuにアップロードした。(参考:Cloud9 + Heroku