感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

rails generate controllerを使ってみる

スポンサーリンク

コントローラは、Railsアプリ全体の基点であり、制御役ともいうべきものだ。
個々のリクエストを受け取り、必要に応じてビジネスロジック(Model)を呼び出し、その結果を出力(View)に引き渡す。

コントローラクラスを作成するコマンドは以下のとおり。
rails generate controller controller_name [action_name] [動作オプション]

例)

>rails generate controller sample index show

rails generateのオプションは以下のとおり
-f,--force:ファイルが存在する場合に上書き
-q,--quiet:進捗状況をいちいち表示しない
-s,--skip:同名のファイルが存在する場合はスキップする

上記のコマンドを実行すると、コントローラに関係するファイルが出力される。
例のindex showというのは、アクション名で、たとえば、
app/controllers/sample_controller.rbには、以下のようなアクションメソッドが用意される。

class SampleController < ApplicationController
  def index
  end

  def show
  end
end

アクションメソッドとは、クライアントからのリクエストに対して具体的な処理を定義するためのメソッドのこと。
上のコントローラクラスに処理を記述する。

class SampleController < ApplicationController
  def index
  	@time = Time.now
  end

  def show
  end
end

で、views/sample/index.html.erbに

<h1>Sample#index</h1>
<p>
現在の時刻は<%= @time %>です。

</p>

と書いて、

http://localhost:3000/sample/index

にリクエストを投げると、ブラウザには

Sample#index

現在の時刻は2014-03-07 07:38:56 +0900です。

と表示される。

朝起きて勉強してるんだよ(笑)

読んだ本は、Railsのポケットリファレンス。

Ruby on Rails 3 ポケットリファレンス

Ruby on Rails 3 ポケットリファレンス

列車本と並行して、読み進めていってる。