Index

一週間のカリキュラム 1週間で、Ruby 〜 Ruby on Railsまでを学ぶ

シリーズの3日目、Railsをインストールして可能な限りの基本を抑えていきます。

3日目の内容


Railsのインストールと初めてのページ表示

今後、Railsについて学んでいく中で、いろいろなサイトを参考にすると思います。 しかし、一番基本として抑えておくべきは公式サイトです。

Ruby on Rais 公式

理由としてはRubyのバージョン、Railsのバージョンの違いなどによって、ブログや技術サイトの情報が若干古かったりする場合があるからです。

公式サイトと比較しながら、ブログなどの情報サイトを利用していきましょう。

インストール前の確認

インストールのスタートガイド

公式のインストールガイドには(2022年2月現在で)  Railsを動かす為に最低以下の4つが必要と書いてます。


Before you install Rails, you should check to make sure that your system has the proper prerequisites installed. These include: 1 Ruby  2 SQLite3 データベース 3 Node.js フロント開発用のJS 4 Yarn フロントのJSのライブラリを管理するパッケージ管理ツール

Rubyはすでにインストールされてると思いますが、SQLite3, Node.js , Yarn がインストールされてない場合はインストールしておきましょう。※必要なバージョンも確認してください。

※ ただ、一応今回のページを表示するだけなら、上記をインストールしなくても動くは動きます。

Railsをインストールして、Railsの新しいプロジェクトを作成する。


railsをインストールします。 $ gem install rails インストールしたrailsのバージョンを確認します。 $ bin/rails --version Rails 7.0.1

これで、どのプロジェクトディレクトリでもRails用のプロジェクトを作成できるようになりました。

続いてRailsのプロジェクトを作ります。


/blog というディレクトリにRailsプロジェクトを作成します。 $ bin/rails new blog /blogディレクトリに移動して開発を開始します。 $ cd blog/

公式ページには、各、ディレクトリの説明がありますが、当面抑えるべきディレクトリはさほど多くありません。必要に応じて覚えていけば良いでしょう。

とりあえず現状の画面を確認します。

bin/ ディレクトリにはRailsで開発するのに便利な機能が詰まっています。 まずは、現状のプロジェクトを早速動かしてみましょう

コマンドで現在のプロジェクトを起動します。
$ bin/rails server

=> Booting Puma
=> Rails 7.0.1 application starting in development 
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.1 (ruby 3.1.0-p0) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 44182
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop


そうするとウェブブラウザで開くURLが表示されます。 ここでは http://127.0.0.1:3000 にアクセスするとRailsの最初の画面が表示される事がわかります。

自分で作ったページを表示してみる。

コマンド一つでベースとなるコントローラーやページ表示用のテンプレートが作成できます。

さきほど立ち上げたブラウザで http://127.0.0.1:3000//home/index

と入れたら表示されるページを作成してみます。

ひとつのコマンドで複数のファイルが作成されます。
$ bin/rails generate controller Home index

create  app/controllers/home_controller.rb ①
 route  get 'home/index' ②
invoke  erb
create    app/views/home
create    app/views/home/index.html.erb ③
invoke  test_unit
create    test/controllers/home_controller_test.rb ④
invoke  helper
create    app/helpers/home_helper.rb ④
invoke    test_unit

コマンド終了後 http://127.0.0.1:3000//home/index にアクセスしてみてください。

※補足 一度コマンドで作成したコントローラー & etcファイルは
$ bin/rails d controller Home
で削除する事も可能です。

それぞれのファイルの意味

今回作成されたファイルの中でも最低限抑えるのは下記の ①〜③ です。

  • ①コントローラー create app/controllers/home_controller.rb

コントローラー app/controllers/home_controller.rb の中身は下記の通りです。

class HomeController < ApplicationController
  def index
  end
end

  • ② ルート route get 'home/index'

※ 実際には./config/routes.rbに下記のように追加されてます。

Rails.application.routes.draw do
  get 'home/index'

end
  • ③ ビュー create app/views/home/index.html.erb

app/views/home/index.html.erb の中身は下記の通りです。


<h1>Home#index</h1> <p>Find me in app/views/home/index.html.erb</p>
  • ④ その他、テストとヘルパー create test/controllers/home_controller_test.rb create app/helpers/home_helper.rb

テストとヘルパーに関しては、一旦今はそういう物があるんだという程度で大丈夫です。

それぞれに少しの変更を加えてみよう。

コントローラーに変数を足して、それをビューで画面に反映してみましょう。

コントローラー app/controllers/home_controller.rb の中身は下記の通りです。


class HomeController < ApplicationController def index # これを追加 @title = "これはタイトルです。" # 注意: title = "**" だとローカル変数なので、ビュー側では表示できません。 # インスタンス変数にするために @を付けましょう。 end end

app/views/home/index.html.erb の中身は下記の通りです。


<h1>Home#index</h1> <p><%= @title %></p> <p>Find me in app/views/home/index.html.erb</p>

この2つを加える事で画面に変数を出力するという事ができました。

最新記事一覧

続きを見る

関連コンテンツ

カテゴリー一覧

TOP フルスタックエンジニアを目指すに方々へ 会員などの権限がある仕様の実現について