LoginSignup
1
0

More than 3 years have passed since last update.

RubyOnRails備忘録

Last updated at Posted at 2020-05-03

RubyOnRails 概要

 railsはMVCモデルと言われ、Model(データベースを操作する役割)、Controller(ブラウザへhtmlファイルを渡す役割)、Views(ウェブサイトを表示させるファイルを作成する役割(htmlなどで記述))を中心としてwebアプリケーションを簡単に作成できるRubyで書かれたパッケージである。

webサイトを表示する簡単な流れ

  1. ユーザーがwebサイトを閲覧するとき、webサイト(アプリケーション)が格納されているサーバーに対してリクエスト(見ようとするページのURL)を送信する。
  2. routingがroutes.rbファイルからリクエスト(url)と一致するコントローラー内のアクションを探し出す。
  3. アクションに定義した処理を行い、modelを経由してデータベースからデータを引っ張ってくる。
  4. アクションまで引っ張ってきたデータを、対応するviewsに渡して、viewsを.html.erbから.htmlファイルへ変換(*1)してブラウザに渡す。

*1. プリプロセッサ・エンジン
 .erbや.scssや.coffeeなどの拡張子を持っているファイルを変換するエンジン。例えば、example.html.erbなどは.erbのファイルをhtmlファイルへ変換し、ブラウザに渡す際にはexample.htmlのファイルとなる。

Railsの主要ファイルを作成するコマンド

$ rails generate controller static_pages home help

$ rails destroy controller static_pages home help

 1番目のコマンドはコントローラー内にアクションを自動生成までしてくれるコマンドになる。アクション名を自動生成するとルーティングとviewsファイルまで自動で生成してくれるため、非常に便利で手動で作成した場合の名前間違いなどのミスを減らせる。また、コントローラー名まで書いた場合は中身が空のコントローラーが生成される。
 2番目のコマンドはコントローラーを作成した際に、それらの生成したファイルをキャンセルしてくれるコマンド。自動生成した場合、ルーティング内とviewsファイルまでが作成されるため、手動でひとつひとつ削除する面倒な作業を省いてくれる。ただし、アクションやviewsをある程度作成してしまうと、ファイル自体が削除されてしまうため自動生成直後までしか使用できない。
 

Railsの静的ページの作成手順

 上記で自動生成したファイルを以下の手順を踏むことで、Railsでサイトを作成することができる。
1. routes.rb (ルーティング)
↓ urlを書いてそれに対応するアクション名を記述
2. examples_controller.rb (コントローラー)
↓ アクション内に変数を定義する
3. examples/example.html.erb (views)
  htmlでブラウザに表示する内容を記述していく

 Railsでは、主に上記3ファイルを中心に編集していくことで、webアプリケーション(webサイト)を作成していく。


1)routes.rb (ルーティング)

routes.rb
Rails.application.routes.draw do
  # prefixでのルートパスの指定
  root 'static_pages#home'
  # 名前付ルーティング(as:で指定することでprefixを指定することができる)
  get 'static_pages/help', to:'static_pages#help', as:'help'
end

2)static_pages_controller.rb (コントローラー)

static_pages.rb
class StaticPagesController < ApplicationController

  def home
  end

  def help
  end

end

3)home.html.erb (views)

home.html.erb

<h1>Welcome to the Sample App</h1>


 以上の流れで静的なページを作成することができる。

1
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
1
0