Railsでは、JSFのようにビューの入出力値を受け渡すための入れ物を用意する必要はありません。
したがって、ビューの入出力値を取得するために記述するコードはごくわずかです。ビューに値を渡す方法、ビューに入力された値を取得する方法の2つにわけて説明します。
まずはアクションの値をビューに渡す方法です。アクションの値をビューに渡すには、@からはじまる変数はインスタンス変数を使います。この変数に格納した値はビューで参照することができます。
次に示す例は、@nameというインスタンス変数に名前を格納させ、格納した名前をビューで表示させています。
アクションからビューに値を渡す
class GreetController < ApplicationController
def hello
@name = "田中"
end
end
ビューにてアクションから渡された値を使う
<%= @name %>さん こんにちは!
もう一方が、ビューの入力値をアクションに渡す方法です。ビューの入力値は、paramsというハッシュオブジェクトに格納されます。
次に示す例は、テキストフィールドに入力されたタイトル名をparamsオブジェクトから取得しています。
ビューの入力値をアクションに渡す
<%= start_form_tag :action => 'add' %>
<p>タイトル<br/>
<%= text_field 'book', 'title' %></p>
<%= submit_tag 'Add' %>
<%= end_form_tag %>
アクションにてビューから渡された値を使う
class BooksController < ApplicationController
def add
title = params[:book][:title]
end
end
|