MyFirstRails

Hello World サンプル

概要

RailsでのHello World サンプルです。

チュートリアル

hello worldと表示させるためのアプリをターミナルからrails new helloworldで作成します 次に、cd helloworldにて作成したアプリのディレクトリへと移動します

rails new helloworld
cd helloworld

Railsではrails new コマンドを実行することで最低限必要なファイルを自動的に生成してくれます そのためrails sコマンドをターミナルで実行すると、PC内でRailsアプリのローカルサーバが起動します

rails s

rails sをターミナルで実行した後に、ブラウザ(Google ChormeやFireFox、Microsoft Edgeなど)のアドレスバーにlocalhost:3000と入力すると以下の画面が表示されます

locahost:3000

一旦、ローカルサーバは終了します(Ctrl+Cにて終了)

次に、rails g controller web helloを実行してHello Worldを表示させるためのコントローラーとビューを作成します

rails g controller web hello

Railsではrails g controller XXXといったコマンドを使うことで簡単にひな型を作成することができます また、作成するコントローラー名などを間違えてしまった場合は、rails d controller XXで簡単に削除できます

こういった簡単にコマンドでひな型を作成できる点がRailsの生産性の高さに寄与していると思いますね

先ほどのrails g controller web helloで作成した app/controllers/web_controller.rbapp/views/hello.html.erbを以下のように編集します

class WebController < ApplicationController
  def hello
    @message = "Hello World! Welcome to Ruby on Rails!"
  end
end
<p><%= @message %></p>

app/controllers/web_controller.rbではindexアクション内でインスタンス変数@messageを作成しています

@message = "Hello World! Welcome to Ruby on Rails!"

app/views/hello.html.erbではコントローラーのindexから受け取った@messageを展開しています 埋め込みHTMLで変数の中身を表示する際には<%= @message %>のように記述します

<p><%= @message %></p>

ここまでの作業でlocalhost:3000/web/helloにブラウザからアクセスすると以下の画面が表示されます 早速、ローカルサーバを起動して確認してみましょう

rails s

locahost:3000

画面にHello World! Welcome to Ruby on Railsと表示されていれば大丈夫です! 赤いエラー画面が表示されている場合は、app/controllers/web_controller.rbapp/views/hello.html.erbのどちらかでコードを書き間違えている可能性があります 再度、確認してみてください

ここまででHello Worldと表示させることができました! しかし、毎回localhost:3000/web/helloにアクセスするのは面倒くさいですね

そこで、Railsのルーティングを編集することでlocalhost:3000にアクセスした際にもHello Worldと表示できるようにします config/routes.rbを以下のように編集してlocalhost:3000へのルーティングを設定します

Rails.application.routes.draw do
  root 'web#hello'
  get 'web/hello'
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

変更した個所はroot 'web#hello'の部分になります

root 'web#hello'

とすることでlocalhost:3000にアクセスした際にHello Wroldと表示されるようになります 再度、ブラウザからlocalhost:3000にアクセスして、以下の画面が表示されていればOKです

locahost:3000

ライセンス

MITライセンス