30DAYSトライアル4th

30DAYSトライアル4th(Rails)のまとめ【DAY28(仮)】その2

30DAYSトライアル4th(Rails)DAY28(仮)の課題は「ドットインストール Rails入門コース #01〜#13」です。
※(仮)としているのは東京フリーランスの記事ではDAY20までしか書かれていないので、その先を勝手に自分で決めて進めているからです。

前回の記事では#01〜#03までのまとめだったので、その続きとなります。

Progateでやった内容と重複するところもあるので、新たなことが出てきた箇所だけに絞ります。

30DAYSトライアル4th(Rails)DAY28(仮)の学習内容

30DAYSトライアル4th(Rails)DAY28(仮)
  • #01 Ruby on Railsを使ってみよう
  • #02 動作確認をしてみよう
  • #03 Scaffoldを使ってみよう
  • #04 ディレクトリ構成を確認して行こう
  • #05 モデルを作ってみよう
  • #06 初期データを流しこんでみよう
  • #07 コントローラを作ってみよう
  • #08 記事の一覧を表示してみよう
  • #09 rootパスを設定してみよう
  • #10 画面をカスタマイズしてみよう
  • #11 link_toヘルパーを使ってみよう
  • #12 記事の少佐を表示してみよう
  • #13 画像にリンクを貼ってみよう

#05 モデルを作ってみよう

「モデル名.create」で「モデル名.new」と「モデル名.save」を一辺に実行できます。

#06 初期データを流しこんでみよう

Progateでは初期データを「Rails console」を使用して登録していましたが、「db/seeds.rb」に初期データを登録してデータ一括でデータベースにデータを流し込むことができます。

また、seeds.rbにはRubyが記述できるので、ループを使用して数行のコードで大量データを流し込むといったことも可能です。

seeds.rbのデータをデータベースに流し込むにはターミナルで下記のコマンドを実行します。

データベースのリセット

下記のコマンドをターミナルを実行することで、データベースのテーブルを全て削除して作り直すことができます。

#07 コントローラを作ってみよう

Progateではルーティングの設定は一つ一つ記述していましたが、一般的なルーティングの設定を一括で設定したい場合は、ルーティングファイル(config/routes.rb)に下記のように記述します。

どのようなルーティングが設定されているかは「rails routes」をターミナルにて実行することで確認可能。

#09 rootパスを設定してみよう

ルーティングファイルに以下のように記述することで、rootのパスを設定することができます。

Railsの設計思想

Railsが採用している設計思想は「Convention over Configuration (CoC)(設定より規約)」であり、単数形で記述する箇所や複数形で記述する箇所などの細かい規約を設定することで、開発者が記述するコーディングの量を減らそうとしている。

#11 link_toヘルパーを使ってみよう

Progateではlink_toメソッドと呼ばれていたものですが、別の記述方法で紹介されています。

「prefix」の部分はルーティングの設定確認コマンド(rails routes)にて確認できます。

#13 画像にリンクを貼ってみよう

Progateでは画像はimgタグをそのまま記述していましたが、ドットインストールではimage_tagヘルパー(メソッド)を使用して画像貼り付けます。

まとめ

一般的なルーティングを一括で設定する方法であったりとProgateと違ってドットインストールではRailsの便利なところをうまく活用する方法を紹介してくれているように思います。

あとはルーティングの確認方法であったり、データベースへの一括でのデータ流し込みなどの実際に開発を行う時に使用するであろう便利なコマンドなどの紹介も手厚いですね。

このあたりを見てもProgateはとりあえずプログラミングに触れてみようっていうところに重きを置いていて、ドットインストールはプログラミングに触れながらも、学習後の実践を見据えての便利コマンドなどの紹介もしてくれているという感覚です。

その他にはlike_toや画像の貼り付け方の記述方法の紹介方法も違うので、そこは二つの教材を受けることで自分の幅も広がっていくので、無駄ではないなと感じました。

ただ、いつまでも学習では成長は頭打ちなのでいかに早く学習を終えて実践に写るかが重量だと思います。

 

 

ABOUT ME
Jyu2
【PC1台で稼ぐブロガー兼Webエンジニアを目指し中】IT情報やWebサービス、アプリなどの情報を発信/SIerで10年以上勤務→ストレスMAXで休職中→ブログとWebの学習を行い脱サラ計画中/ #30DAYSトライアル 1st完了→2nd実施中 / 日々の学習内容をブログにアウトプット / まずは月収5万円を目指す