LoginSignup
2
1

More than 5 years have passed since last update.

MyFirstRails #1 Hello World!

Posted at

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と入力すると以下の画面が表示されます

root_path.png

一旦、ローカルサーバは終了します(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を以下のように編集します

app/controllers/web_controller.rb
class WebController < ApplicationController
  def hello
    @message = "Hello World! Welcome to Ruby on Rails!"
  end
end
app/views/hello.html.erb
<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

web_hello_path.png

画面に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へのルーティングを設定します

config/routes.rb
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です

fix_root_path.png

ライセンス

MITライセンス

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1