##新規プロジェクト
- 入力したアプリケーション名と同名のフォルダが作成され、その中に開発に必要なフォルダやファイルが用意されます。
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 |