Rails Tutorial、始めました【1章】

2019年9月14日

超今さらですが、Rails Tutorial始めました!

理由は、webアプリを作れるプログラミングスキルが欲しいからです。

まあ仕事でweb方面の専門じゃなくても、やっぱ作れるようになりたいっすよね。せっかくなら。webサービスの個人開発とか憧れますよね。

業務ではpython使ってるのでDjangoでも良かったんですが、ずっとpythonだと飽きるんですよね。だってpythonって、だれが書いても綺麗なコードになるじゃないっすかw

だけどrubyって、書く人によって癖が出るみたいなんですよ。なにそれ、めっちゃ面白いじゃん。

ならやりましょう、やってみましょうよ!ってことで昨日からスタートしました。

てことで、1章ごとに感想をまとめたいと思います。

もちろん今日は、 第1章ゼロからデプロイまで です!

1章 ゼロからデプロイまで

はじめに

Rails Tutorialについてや、そもそもRailsとは?といったことまで説明がありました。

このチュートリアルでは、全部で3つのアプリケーションを作るんですね。読んでるだけでワクワクしてきました。

そしてここで知りましたが、全部で14章あるんですね。ヤベェ、ヤベェよ…

さっそく動かす

まず作るのは、「Hello World!」を表示するだけのアプリです。まあ最初なんでね。

そしてチュートリアルでは、環境差分による問題を少しでも無くすために、AWS CLoud9(クラウドの統合IDE)を使って開発するみたいです。

甘ぇ、甘ぇよ!私は強く拳を握り、ローカルに開発環境を構築しました。

そしてプロジェクト作成ですが、

railsではこのコマンドを打つだけで、自動でライブラリのダウンロードから、Webアプリケーションに必要なディレクトリやファイルの作成が自動で行われます。こりゃあすげぇよ…

ローカルサーバーを起動するのもこれだけです。

これでlocal:host:3000にアクセスしてみると、次の画面が表示されます。

もうこれ、Webアプリケーションですよね…?

MVC

RailsはMVCという構造を取っていて、Model,View,Controllerを駆使してWebアプリケーションを作ります。

Contorollerにメソッドを作るだけで、すぐにHello,Worldアプリができました!

Gitによるバージョン管理

ここでは今まで作ったものをGitリポジトリに上げるだけでした。

業務でGitを使ってる方はほとんど読み飛ばしていいんじゃないですかね?

  • add → commit → push
  • branch切ってmerge

やってることはこの2つだけでした。

Herokuにデプロイする

ここでついにデプロイ!

hello_appを本番環境に適用します。Herokuは使ったことないので不安ですね…

予想通り、ここでトラブル発生!Herokuにgitリポジトリをpushしようとしたらこんなエラーが…

 

Heroku
Heroku

そんな古いバージョンのruby、このHeroku様が使えるわけねぇダルォ???

実はローカルでは1年以上前に環境構築していて、そのあと何も更新していなかった..

ということでrubyのバージョンアップしましょう。だが、またしても問題発生…

おかしい、現時点でのrubyの最新安定バージョンは2.6.4のはずなのに、2.4.0までしか出てこない…

どうやらruby-buildが古いと、その時点でのrubyバージョンまでしか出てこないみたいです。

てことでupgradeを試みます。

もうやだ、この戦い。


直接Gitからpullしたらupgradeできました。さてherokuにデプロイするか。

バージョンが変わってない、なぜじゃーーー!!!

試しにrubyのパスを調べてみると…

rbenvの方に通ってないですね。

 

rbenvのパスをbash_profileに追加し、変更を適用しました。すると…

ようやくrubyのバージョンアップができました!第1章からここまで苦労するとは思ってなかった…

  • bundle installでGemfile作り直し
  • gitリポジトリに再度push
  • git push heroku master

これでようやくHerokuにpushできました!heroku createコマンドで作ったURLへアクセスすると…

無事本番環境でもHello worldできました!文字が小さくてすまん^^;

感想

Rails Tutorial 1章をやってみましたが、まさかここまでつまづくとは…

Herokuについて全く理解してなかったと、ローカル環境でやろうとしたのが原因でしたね。まあ今後もローカル環境でやりますが。

でもHerokuを初めて使ってみましたが、めっちゃ便利ですね、これ。pushするだけで本番環境に適用できるとか、素晴らしすぎだろJK!

あと13章あるので、先が思いやられるtrs君であった。

次回、2章へ続く!