MyFirstRails #1 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と入力すると以下の画面が表示されます
一旦、ローカルサーバは終了します(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.rbとapp/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
画面にHello World! Welcome to Ruby on Railsと表示されていれば大丈夫です!
赤いエラー画面が表示されている場合は、app/controllers/web_controller.rbとapp/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です


