MENU

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」を一辺に実行できます。

モデル名.create(カラム名1: 'データ', カラム名2: 'データ'・・・・)

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

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

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

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

rails db:seed

データベースのリセット

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

rails db:migrate:reset

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

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

Rails.application.routes.draw do

  resources :posts

end

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

# ルーティングの確認コマンド
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のパスを設定することができます。

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メソッドと呼ばれていたものですが、別の記述方法で紹介されています。

# 変数の埋め込みが不要な場合
link_to リンク文字列, prefix_path

# 変数の埋め込みが必要な場合
link_to リンク文字列, prefix_path(変数名)


# Progateで学習した構文
link_to(リンク文字列, URL)

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

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

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

image_tag 画像ファイルパス

まとめ

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

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

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

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

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

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ソフトウェア会社(SIer)で10年以上勤務のシステムエンジニア|ポケットWiFi使用歴2年以上|ポケットWiFi+αで快適でお得なインターネット環境を構築するための情報を発信|その他、IT情報やWebサービス、アプリ、ガジェットなどの情報を発信|自分と他の人のカバンの中身を紹介するメディア「カバンの中身ラボ(https://kaban-no-nakami-labo.com/)」も運営しています。
ポケットWiFi選びに迷ったらTwitter、お問合せフォームからご連絡ください。

コメント

コメントする

目次