0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初めてのRuby On Rails その1

Last updated at Posted at 2021-02-26

Ruby On Railsとは

オープンソースのWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。
 
Ruby_on_Rails - Wikipedia

初めてRubyに触れるので、Progateを使って学習してみました。忘れそうなことや頭を整理するために、記載しています。
Ruby on Rails5 - Progate

Railsアプリケーションの作成

以下コマンドにより必要なファルダ等が作成される

ターミナル
rails new app_name

ツリー構造

 app_name/
    ├ app/
    ├ config/
    ├ db/
    └ その他

サーバーの起動

ターミナル
rails server

###アプリ表示
サーバーを起動後に、ブラウザでlocalhost:3000にアクセス

トップページの作成(新しくページを作るコマンド)

以下のコマンドにより自動でtopというページが作成される

ターミナル
rails generate controller home top

以下のようにgenerategに省略可能

ターミナル
rails g controller home top

home: コントローラー名
top: アクション名

※すでにhomeコントローラーがある場合には別アクションでは使用不可

トップ画面localhost:3000/home/topにアクセスできる

ページを表示するのに必要な3ファイル

  1. ビュー(view)
  2. コントローラー(controller)
  3. ルーティング(routing)

ビュー(view)

ビューとは、ページの「見た目」を作るためのHTMLファイルである
ブラウザとRailsのやりとりの中で、Railsからビューが返され、ページが表示される

ツリー構造

viewsフォルダの中にhomeフォルダtop.html.erbというファイルが作成される

 app/ アプリケーションのメインフォルダ
  └ view/ ビューフォルダ
    │ ┌──────────┐     
    └ │ home/       │
      │  └ top.html.erb   │
      └──────────┘

コントローラー(controller)

ページを表示するとき、Railsの中ではコントローラを経由してビューをブラウザに返している

ツリー構造

controllersフォルダの中にhome_controller.rbというファイルが作成される

 app/ アプリケーションのメインフォルダ
  └ controllers/ コントローラーフォルダ
    │ ┌──────────┐     
    └ │ home_controller.rb  │
      └──────────┘

ターミナル
rails generate controller home top

上記実行時にhome_controller.rbというコントローラのファイルが作成される
ファイルの中にtopメソッドが追加される
コントローラ内のメソッドをアクションと呼ぶ

home_controller.rb
class HomeController < ApplicationController
  def top
  end
end

アクションは、コントローラと同じ名前のビューフォルダから、アクションと同じ名前のHTMLファイルを探してブラウザに返す

ルーティング(routing)

ルーティングはブラウザとコントローラを繋ぐ役割を担う
送信されたURLに対して「どのコントローラの、
どのアクション」で処理するかを決める「対応表」のこと

ページが表示されるまでに、ルーティング→コントローラ→ビューという順で処理

トップ画面localhost:3000/home/topにアクセスした時を例に考えてみよう

  1. URL(home/top)に対応するHTMLファイルをリクエスト
ルーティング(対応表)
URL コントローラ アクション
home/top home top

2.homeコントローラーのtopアクションを呼び出す
3.URLに対応したHTMLファイルを送信

ツリー構造

configフォルダの中にroutes.rbというファイルが作成される

  config/ 設定情報に関するフォルダ
   │ ┌────────┐     
   └ │ routes.rb     │
     └────────┘

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

まとめ

初めてRubyOnRailsを学習しました。
学習して、改めて整理すると意外とわかりやすいと思いました。これからも追加で記事を作成していきます。

##参考サイト
ディレクトリ構成図を書くときに便利な記号
https://qiita.com/paty-fakename/items/c82ed27b4070feeceff6
Markdown記法 サンプル集
https://qiita.com/tbpgr/items/989c6badefff69377da7
Qiitaのテーブルの書き方についてまとめた
https://qiita.com/zakuroishikuro/items/f33929eab9d55c5bd073

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?