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です