1
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 1 year has passed since last update.

Ruby on Rails 備忘録

Last updated at Posted at 2021-12-10

##新規プロジェクト

  • 入力したアプリケーション名と同名のフォルダが作成され、その中に開発に必要なフォルダやファイルが用意されます。
rails new tweet_app

##サーバーの起動
* 開発中のアプリケーションをブラウザで表示するためには、サーバーというものを起動する必要があります。サーバーの起動は、「rails server」というコマンドを実行するだけで完了です。
サーバーを起動した後、ブラウザで「localhost:3000」というURLにアクセスすると、右図の初期画面が表示されるようになります。

rails server

##ビュー /トップページの作成

  • 新しいWebページが自動で作られ、「localhost:3000/home/top」というURLにアクセスできるようになります。
rails generate controller home top
ポイント 説明 備考
top.html.erb ディレクトリ:app/views/home
erb ≒HTML

##コントローラー
###アクション
「rails generate controller home top」を実行したとき、
「home_controller.rb」というコントローラのファイルが作成され、ファイルの中に「topメソッド」が追加されます。
コントローラ内のメソッドを「アクション」と呼びます。

###アクションの役割
コントローラ内のアクションは、ブラウザに返すビューをviewsフォルダの中から見つけ出す役割を担っています。
具体的には、アクションは、コントローラと同じ名前のビューフォルダから、アクションと同じ名前のHTMLファイルを探してブラウザに返します。

home_controller.rb
class HomeController < ApplicationController
  def top
  end
end
  • homeコントローラーのtopアクションに対応するHTMLファイルを探す。

##ルーティング

  • Rails内ではコントローラを経由してビューを返していますが、ブラウザとコントローラを繋ぐ役割を担うのがルーティングです。
    ページが表示されるまでに、ルーティング→コントローラ→ビューという順で処理が行われている
  • ルーティングは、送信されたURLに対して「どのコントローラの、
    どのアクション」で処理するかを決める「対応表」のことです。
    ブラウザでURLを入力すると、ルーティングがURLを見て、適切なコントローラのアクションを呼び出します。
URL コントローラー アクション
home/top home top
  • ルーティングは「config/routes.rb」に定義され,
    「get "URL" => "コントローラー名#アクション名"」という文法で
    書かれます。
    これによって、ブラウザから「localhost:3000/home/top」というURLが
    送信されたときに、homeコントローラーのtopアクションで処理されるようになります。
routes.rb
Rails.application.routes.draw do
  get "home/top" => "home#top"
end
ポイント 説明 備考
routes.rb ディレクトリ:config/routes.rb
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?