RubyOnRailsをProgateでやってみた。【コース1】

ProgateでRubyOnRailsを習得

progate rubyonrails

ProgateでRubyOnRailsの学習をやってみます。書かないと忘れるのでアウトプットさせていただきます。

RubyOnRailsとは

RubyOnRailsはウェブアプリケーションをつくるためのフレームワークみたいで、SNSみたいなものもつくれたりするらしいです。

Progate RubyOnRailsの学習内容

RubyOnRailsはrailsコマンドというものを使用してアプリケーションを作成していくようです。まず $rails newコマンドでアプリケーションを作成してそこからディレクトリが枝分かれしていくイメージ。その後はルーティング、コントローラー、ビューの概念を学ぶ展開に

railsコマンド

$rails new アプリケーション名 新規railsアプリケーションを作成する
$rails server ローカルのサーバーを立ち上げる
$rails generate controller top home トップページを作成する

railsコマンド以外の知識

RubyOnRailsの立ち上げ

rails new アプリケーション名で新規作成したあと rails serverとするとサーバーにアプリが立ち上がる

ビュー

ビューはRubyOnRailsの見た目を制御するファイルのようです。

  • rails generate controller top homeでトップページを作成すると URLも ローカルホスト/home/topのようになる。またビューというファイルがつくられる。(homeフォルダとtop.html.erb)これらを編集することにより見た目を変える
  • ビューの場所 「アプリケーション/app/views」

コントロール

RubyOnRailsにはコントローラーというものがあり、これを使ってブラウザにビューを返しているそうです。コントローラーの場所
「app/controllers」

  • rails generate controller top homeコマンドを実行するとhome_contoller.rbというコントローラーファイルが作成される
  • home_contoller.rbにはtopメソッドが追加されコントローラー内のメソッドは「アクション」と呼ぶ
  •  アクションはコントローラーと同じ名前のビューフォルダからアクションと同じ名前のファイルを探して それをブラウザに返す
  • 同じコントローラー名は作成することができない

ルーティング

ルーティングはブラウザとRubyOnRailsをつなぐためのものだそうです。railsにページが表示されるまでの流れは「ルーティング」→「コントロール」→「ビュー」となっているようです。ルーティングファイルの場所は「アプリケーション/config/routes」

  • ルーティングファイルはブラウザのURLを判断し、適切なウェブページを選択し表示させる
  • ルーティングファイルにルール記述されていないウェブページへアクセスしようとするとエラーがおこる
  • ローカルホスト3000の urlは「/」スラッシュで表現できる

Rails.application.routes.draw do
  get "home/top" => "home#top"
end

ルーティングファイルのgetを変更するとURLを変更できる。

Railsに新しいページを追加したい場合

新しいページを追加したい場合は「ルーティング」→「コントローラー」→「ビュー」の流れを意識して、ルーティングファイルにget文を追加。コントローラーにアクションを追加する。アクションメソッドに対応したビューファイルを作成。

Railsのcssファイル

cssファイルの場所は「app/assets/stylesheets」$rails generateしたときに自動で.scssというファイルが作成されるようです。

画像

画像の場所は「public」こちらにおいてある画像をcssやhtmlのリソースとして使用できる。/.png スラッシュをつけることをわすれずに。

Railsのリンク

Railsのリンクは href=””属性にアプリのURLを記述するとそのページにアクセスできるようです。

Progate RubyOnRails コース1まとめ

rails まとめ
結構難しい・・・

ルーティングとコントローラーとビューの概念は理解できましたが、慣れるまでにちょっと時間がかかりそうな感じです。

文章だけだとどうしてもわかりづらいので、図とかスライドが豊富なプロゲートはやっぱりいいです。全部無料で学べますし。どっかで有料にはなるんでしょうが。