RailsでHelloWorldを表示させよう!
Rubyのバージョンチェックをする ruby -v
#Rubyをインストールする rvm install 2.5.1 rvm install 2.6.4 rvm list #任意のバージョンを選ぶときは(今回は2.5.1を使う) rvm use 2.5.1 #バージョンを確認 ruby -v #2.5.1をデフォで使いたいとき rvm --default use 2.5.1 #Railsがインストールされているか確認 rails -v #Gemの確認 gem -v #Railsをインストール gem install rails --version="5.2.3" --no-document バージョンチェック rails -v
ディレクトリを作成する(rails_projects)
#まずは移動する cd environment/ mkdir rails_projects cd rails_projects/ #rails newで作成 rails _5.2.1_ new hello cd hello/
データベースとしてパブリックドメインの軽量なものをインストール(sqlite)
#バージョン確認 sqlite3 --version
Gemfileに以下の記述を追加
'sqlite3', '~> 1.3.6'
Gemをインストールする
bundle install bundle update
データベースを作成する
rails db:create
pumaというwebサーバが含まれている。
railsサーバを起動する。
rails s
このような表示がされているのを確認しよう
コントローラーを作る
cd ~/environment/rails_projects/hello
rails generate controller hello index
アプリケーションコントローラクラスを継承している
HelloController < ApplicationController
コントローラーはアプリケーションに対する特定のリクエストを受け取り、処理をする役割がある。
Railsではテンプレートエンジンerbを標準的に使う
helloのindex.htmlにあるerbはHTMLの中にrubyプログラムが書ける
最終的にはHTMLとして処理されるが、利用者にはわからないよ
index.html.erbにて <h1>Hello World!</h1>
Railsサーバー起動
rails s
index/htmlを加えハローワールドが出ていればOK
rails routesでどの様になっているか確認する。
rails routes Prefix Verb URI Pattern Controller#Action hello_index GET /hello/index(.:format) hello#index
/hello/indexでアクセスが来たらhelloコントローラーの
#index(インデックスアクション)を返すという意味だよ。
routes.rbに以下の記述を追加
root 'hello#index'
アプリケーションのルートURLへのアクセスをHello controllerの
インデックスアクションに割り当てるようにrailsに指示している。
ルートURLにアクセスしたらHelloWorld!が表示されるようになった!