Railsチュートリアルをざっくりまとめる

こんにちは、kisseです。

Railsのチュートリアルを走ってきたので、忘れないうちにざっくりまとめながら、Railsを始める人にチュートリアルの概要を知ってもらえればいいなって思って書きます。

本記事の方針

この記事を5分くらいで読んで、大体どんなことをするのかの見通しをつけてからチュートリアルに入れることを目指します。
(ついでに、自分が学んだことをテキストで残すという目的も達成します。)




対象の読者

  • これからRailsを始めようと思っている人
  • Railsのチュートリアルにどれくらい時間がかかるか知りたい人

筆者の事前知識レベル

  • PythonのDjangoで簡単なモバイルアプリのREST APIを作成したことがある。
  • Rubyの経験ほぼ0(チュートリアル内で出てくる構文がRubyのものか、Rails独自のものなのかを判断できないレベル)

チュートリアルのサイト

今回は、このチュートリアルをやってみました。
Railsの日本語コミュニティがまとめてくれたサイトなのかな?

結構駆け足でやったのですが、所要時間は大体5時間くらいでした。

チュートリアルの概要

簡単なブログを作ります。
Railsのインストールから、新規プロジェクトの作成。

1つめのArticleモデルを作成して、記事の作成、閲覧、更新、削除ができるようにします。
その際に、Railsでのモデル、コントローラー、ビューの扱いの基本を学びます。

最後にArticleモデルに対して、複数存在することになるCommentモデルの作成を行います。
ここでは、複数のモデルの関係の記述の仕方を学びます。

以上のようにチュートリアルは構成されていました。

モデルの追加からコントローラーとビューの記述の流れ

Railsでは、モデルとコントローラーの新規追加はコマンドラインから行うようです。

$ bin/rails create model モデル名 属性名:型 [... 属性名:型]

(注. チュートリアルでは、bin/railsとして書かれていましたが、僕の場合は単にrailsだけでも動きました。)
まず、モデルの構成と型を列挙していきます。その際に、他のモデルを参照する際には、その旨も記して定義します。
感覚としては、データベースのテーブルスキーマを作る感じです。
(っていうかモデルってそんなもんな感じもしますよね。)

そしたら、変更内容をデータベースに反映するためのコマンドを叩きます。

$ bin/rails db:migrate

これでデータベースに新たなテーブルが作成されました。
この際、他のモデルを参照している場合には、モデルを記述しているファイルなどの編集が必要になります。

その後、モデルに対するコントローラーを作成します。
コントローラーを新規作成する場合にも、コマンドラインから作成します。

$ rails generate controller モデル名

これでコントローラーが作成されました。

ところで、bin/rails routesというコマンドを叩くとrailsが行なっているコントローラーに対するルーティング設定を閲覧することができます。
これをもとにして、まだ実装していないメソッドを順次実装を行うといった方法で記述を行なっていくようです。
これを知って、Railsすげえってなってました。笑

コントローラーを記述しながら、表示のためのビューを記述していきます。
チュートリアルではeRubyという言語でビューを記述します。
通常のHTMLにRubyを埋め込むような記述ができるものを指します。
これにより、繰り返しの構造などをRubyの機能を利用して書くことができます。
(例えば、保存されている全ての記事を順次表示していく構造とか。)

チュートリアルの後半では、テンプレートを小さく分けてその組み合わせを主体とした記述を行うようになります。
これにより、同じ構造のビューを繰り返し記述する必要が少なくなります。

このようなことをチュートリアルを通して学ぶことができます。




チュートリアルを通して感想

このあとは個人的な感想です。

Railsでは、フレームワークが「こんな感じで作ってね」って言ってくれてるみたいな印象を受けました。笑
僕は不慣れなんでそういう感じの方がやりやすくていいなぁって思います。

ただ、ちょっと複雑なことや変わったことをやろうとしたときに、フレームワークの機能が少し障害になったりもするのかななんて思います。
(それはどのフレームワークでもある程度発生することだろうけど。)

ただ、トータルでRails、楽しいかもしれない!

おわり

大体5分くらいで読み終わるくらいの分量になったんじゃないでしょうか??

この記事を読んでチュートリアルに望んだ結果、ちょっと広い視点で全体を見ながら学べるようになったらいいなって思います。

最後まで読んでいただきありがとうございます!

—–
ところで、最近Monappyに登録しました。
投げ銭していただけると大変嬉しいです、もっと勉強頑張ります!

https://monappy.jp/u/nyannko_kisse
アドレス: MRf1EULCqMFnCP3AZBJ9uXU5Ld3GvEvjpp

あわせて読みたい