【18日目】Railsすげーーーーーーー!!
え本気で?
と、本気で思った。
私はUdemyのこちらの講座を見ながら、Railsの準備段階として、まずはSinatraから勉強をしていた。
https://www.udemy.com/sinatra_rails/learn/lecture/5418486#overview
なんでSinatraからなのかといえば「シンプルでわかりやすいから」というような説明を受けていた。Railsは多機能だが、最初はもっと不要なものを削り落としたもので、WEBの仕組みを理解しよう、と。
それでSinatraで連絡帳アプリを作るところから始まるのだが、それでもやれHtmlだの、SQLiteだのActiveRecordだのDBだのマイグレーションだのと勉強していないものがたくさん出てくるわ、知らない記法も「なんとなくでいいです」的な感じで進んでいくわ、バージョン不整合問題によって何度もエラーを吐くわで、写経をするだけにもかかわらず、概念を調べたりエラーに取り組んだりドットインストールに立ち戻ったりで結構苦労したのでありました(全然暗記はしていないけれど)。
たかだか3ページの画面遷移で、しかもただ名前とEmailを入力したらそれがDBに保存されて、罫線に囲まれて表示される。ただし入力漏れがあるとエラーを吐いて保存しない、くらいの機能を実装するのにこんなにも手間がかかるものだとは! なんて思って世の中のWEBサービスすげえってなっていたところだったのである。
それで今日、ついにRailsが解禁となった。
作るものはタスク管理アプリ。
なるほど連絡帳の応用で、結局入力した情報を保存して表示してくれて、あとから編集できる機能があればいいのだから似ているのかもしれない。
よく解説もされないが、いろんなgemとかもまとめてダウンロードしてくれるscafforldなるものを使うといいらしい
とりあえず言われるがままに実行すると、なにやら72個もgemをインストールしたようだ。さっきまでは5,6個だったのに。
そしてただちょっとデータベースの型とか指定しただけ?みたいなコマンドを入力して、サーバーを立ち上げましたところ。
――ふぁっ!?
今日まで数日間いちいち全部手打ちしていたような画面遷移からデータベースの操作からなにからなにまですでに実装されているではないか!
まだ環境作って数コマンドしか打ってないのに!
しかも何ならSinatraでは実装していなかった削除とか再編集とかそういうのまでできており、いってしまえば上位互換
Railsってすげええええええええええええええええ!!
(Sinatraにも同じようなものはあるのかもしれないけれど)
Railsから勉強を始める人はじゃああのいちいち
get '/' do
@now = Time.now
@contacts = Contact.all
@message = session.delete :message
erb :index
end
とかやるのは習わないのだろうか。
Sinatraしか知らないから差分はわからないけれど、少なくともいい経験をした気分になった。