30DAYSトライアル4th(Rails)DAY28(仮)の課題は「ドットインストール Rails入門コース #01〜#13」です。
※(仮)としているのは東京フリーランスの記事ではDAY20までしか書かれていないので、その先を勝手に自分で決めて進めているからです。
前回の記事では#01〜#03までのまとめだったので、その続きとなります。
Progateでやった内容と重複するところもあるので、新たなことが出てきた箇所だけに絞ります。
目次
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」を一辺に実行できます。
1 |
モデル名.create(カラム名1: 'データ', カラム名2: 'データ'・・・・) |
#06 初期データを流しこんでみよう
Progateでは初期データを「Rails console」を使用して登録していましたが、「db/seeds.rb」に初期データを登録してデータ一括でデータベースにデータを流し込むことができます。
また、seeds.rbにはRubyが記述できるので、ループを使用して数行のコードで大量データを流し込むといったことも可能です。
seeds.rbのデータをデータベースに流し込むにはターミナルで下記のコマンドを実行します。
1 |
rails db:seed |
データベースのリセット
下記のコマンドをターミナルを実行することで、データベースのテーブルを全て削除して作り直すことができます。
1 |
rails db:migrate:reset |
#07 コントローラを作ってみよう
Progateではルーティングの設定は一つ一つ記述していましたが、一般的なルーティングの設定を一括で設定したい場合は、ルーティングファイル(config/routes.rb)に下記のように記述します。
1 2 3 4 5 |
Rails.application.routes.draw do resources :posts end |
どのようなルーティングが設定されているかは「rails routes」をターミナルにて実行することで確認可能。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# ルーティングの確認コマンド rails routes # resources :postsで作成されるルーティング例(モデルがPostの場合) Prefix Verb URI Pattern Controller#Action posts GET /posts(.:format) posts#index POST /posts(.:format) posts#create new_post GET /posts/new(.:format) posts#new edit_post GET /posts/:id/edit(.:format) posts#edit post GET /posts/:id(.:format) posts#show PATCH /posts/:id(.:format) posts#update PUT /posts/:id(.:format) posts#update DELETE /posts/:id(.:format) posts#destroy |
#09 rootパスを設定してみよう
ルーティングファイルに以下のように記述することで、rootのパスを設定することができます。
1 2 3 4 5 6 7 8 9 |
Rails.application.routes.draw do root 'コントローラ名#アクション名' end # 上記を設定を行った結果のルーティング確認結果例 Prefix Verb URI Pattern Controller#Action root GET / posts#index |
Railsの設計思想
Railsが採用している設計思想は「Convention over Configuration (CoC)(設定より規約)」であり、単数形で記述する箇所や複数形で記述する箇所などの細かい規約を設定することで、開発者が記述するコーディングの量を減らそうとしている。
#11 link_toヘルパーを使ってみよう
Progateではlink_toメソッドと呼ばれていたものですが、別の記述方法で紹介されています。
1 2 3 4 5 6 7 8 9 |
# 変数の埋め込みが不要な場合 link_to リンク文字列, prefix_path # 変数の埋め込みが必要な場合 link_to リンク文字列, prefix_path(変数名) # Progateで学習した構文 link_to(リンク文字列, URL) |
「prefix」の部分はルーティングの設定確認コマンド(rails routes)にて確認できます。
#13 画像にリンクを貼ってみよう
Progateでは画像はimgタグをそのまま記述していましたが、ドットインストールではimage_tagヘルパー(メソッド)を使用して画像貼り付けます。
1 |
image_tag 画像ファイルパス |
まとめ
一般的なルーティングを一括で設定する方法であったりとProgateと違ってドットインストールではRailsの便利なところをうまく活用する方法を紹介してくれているように思います。
あとはルーティングの確認方法であったり、データベースへの一括でのデータ流し込みなどの実際に開発を行う時に使用するであろう便利なコマンドなどの紹介も手厚いですね。
このあたりを見てもProgateはとりあえずプログラミングに触れてみようっていうところに重きを置いていて、ドットインストールはプログラミングに触れながらも、学習後の実践を見据えての便利コマンドなどの紹介もしてくれているという感覚です。
その他にはlike_toや画像の貼り付け方の記述方法の紹介方法も違うので、そこは二つの教材を受けることで自分の幅も広がっていくので、無駄ではないなと感じました。
ただ、いつまでも学習では成長は頭打ちなのでいかに早く学習を終えて実践に写るかが重量だと思います。