on Rails : Hello, World!

DHH曰く,

これだけはやめられません.新しいシステムを試すときはHello, World!プログラムを書かずにはいられないのです.


AWDwR日本語版 - P31より

よしやるか.MVCではなく,VC入門.ただハローするだけなので,モデルは要らんのです.

はじめに

railsのインストールは,*1にやったので,割愛*2


名前がdemoじゃ格好悪いので,greetingにします.

home $ mkdir rails
home $ cd rails
rails $ rails greeting
(略)
rails $ cd greeting

よし.

Controller

つぎは,コントローラを作る.sayという名前.

greeting $ ruby script/generate controller Say
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/say
      exists  test/functional/
      create  app/controllers/say_controller.rb
      create  test/functional/say_controller_test.rb
      create  app/helpers/say_helper.rb

おぉ,コントローラと一緒にビューまでできてますね.おまけにテストまで.
そして,app/controllers/say_controller.rbを見てみると,こんなんなってる.

class SayController < ApplicationController
end

なるほどコレにゴチャゴチャとアクションを付け加えていくのね.ワクワクしてくる.


さて,コイツにhelloというアクションを追加する.

class SayController < ApplicationController
  def hello
  end
end

とりあえずコレで良いのだ.全然良くないけど.

greeting $ ruby script/server

WEBrick(サーバ)を起動し,http://localhost:3000/say/helloにアクセスして見ると"Template is missing"と表示されるが,今はコレで良い.「なんでgreeting/say/helloじゃないんだろう」っていう疑問は置いておこう.

View

そういえば,スキマスイッチのメジャーデビューシングルはviewでしたね.山崎まさよしが「こんなんだけどメロディアス」って言ってたのが懐かしい.
脱線しました*3.とりあえずWEBrickを落とす.次はそのTemplateすなはちビューを作ってやらないと.

greeting $ touch app/views/say/hello.rhtml
greeting $ emacs app/views/say/hello.rhtml

とでもして,作成.rhtmlってeRubyだっけか.
内容は適当だ適当.

<html>
  <head>
    <title>Hello, Rails!</title>
  </head>
  <body>
    <h1>Hello, World!</h1>
    <p>こんにちは,世界</p>
  </body>
</html>

もういちどWEBrickを起動して,確認してみる.

でーきーたー.

  1. sayコントローラが呼ばれて
  2. helloアクションが呼ばれて
  3. それに対応するビューが呼ばれて
  4. 幸せ

今度のrails更新は,ちゃんとMVCになったらします.

*1:うわぁ,はてなダイアリー初日かよ.

*2:一応updateはしました.

*3:Railsだけに.