RailsTutorialを進める中で躓いたポイントや解決策、Herokuデプロイの問題、Git関連のトラブル、テストエラーの対処法などをまとめました。初心者の方に役立つRails学習のヒントを紹介します。
1章
Herokuで差分を反映させ、起動するコマンド
$ git commit -a -m "Update Gemfile for Heroku"
$ git push heroku master
$ heroku open
- Ruby on Railsとは、Web開発のためのフレームワークであり、Rubyプログラミング言語によって記述されている。事前設定済みのクラウド環境を利用することで、Railsのインストール、アプリケーションの生成、生成されたファイルの編集を簡単に行うことができる。Railsにはrailsという名前のコマンドラインコマンドがあり、rails newで新しいアプリケーションを生成したり、rails serverでローカルサーバーを実行したりできる。コントローラのアクションを追加したり、ルートルーティングを変更したりするだけで「hello, world」アプリケーションを作成できる
- Gitによるバージョン管理を導入し、Bitbucketの非公開リポジトリにプッシュする理由は、データの喪失を防止し、他の開発者との共同作業を行えるようにするため。作成したアプリケーションをHerokuの本番環境にデプロイした
2章
2章でGit関連で躓いたこと
.gitignore
ファイルの範囲指定がうまくいっていなかった
.idea
ディレクトリでコンフリクトが起きていたので、ローカルとリモートで削除してraiil s
- masterとの差分を反映出来ていなかったので、deployブランチでmasterをpullして解決しました。
Herokuでデプロイが出来ていない問題
ローカルでは問題なく動いていたので原因として考えられるのは、Herokuの本番環境でデータベースのマイグレーションを行なっていないこと
$ heroku run rails db:migrate
をターミナルより実行して、本番データベースのマイグレーションを行い、次にホームページからHerokuのデプロイを行なったところデプロイが出来ました。
- Scaffold機能でコードを自動生成すると、Webのあらゆる部分からモデルデータにアクセスしてやりとりできるようになる。Scaffoldは何よりも手っ取り早いのがとりえだが、これを元にRailsを理解するには向いていない。RailsではWebアプリケーションの構成にMVC (Model-View-Controller) というモデルを採用している。Railsが解釈するRESTには、標準的なURLセットと、データモデルとやりとりするためのコントローラアクションが含まれている。
- Railsではデータのバリデーション (validation) がサポートされており、データモデルの属性の値に制限をかけることができる。Railsには、さまざまなデータモデル同士を関連付けを定義するための組み込み関数が多数用意されている。Railsコンソールを使うと、コマンドラインからRailsアプリケーションとやりとりすることができる