Viewについて

Viewの役割

Viewでは、Contollerで設定されたデータを表示する。

基本法則

RHTMLでは、<% ... %>と、<%= ... %>の、二つのタグにRubyコードを含められること意外はテキストデータと同等である。

% ... %>は、Ruby式の評価結果を出力としないタグであり、<%= ... %>は、Ruby式の評価結果を出力するタグである。

<% for i in @data %>
  <%= i.text %>
<% end %>

この例では、@data.eachの結果を一つずつiに代入して繰り返すforの中で、i.textの評価結果を出力として挿入する。結局、@data.eachで与えられるものすべての.textを評価して、その結果で置換するということになる。

データを表示する

最も簡単なデータ表示の方法は、<%= ... %>により、式の評価結果を直接埋め込む方法である。

フォームを作る

フォームは、form_forメソッドで生成できる。

<% form_for(:[モデル名], :url => { [link_toの引数と同じもの] }) do |[引数変数]| %>
  [フォーム詳細]
<% end %>

例えば、今のControllerのまま、new_entryというメソッドにリクエストを行うには、次のような記述になる。

<% form_for(:model, :url => { :action => "new_entry" }) do |i| %>
  [フォーム詳細]
<% end %>

テキストフィールド

テキストフィールドでデータを表示・編集させる例は次の通り。

<%= i.text_field(:[列名]) %>

テキストエリア

テキストエリアでデータを表示・編集させる例は次の通り。

<%= i.text_area(:[列名]) %>

コンボボックス

コンボボックスでデータを表示・編集させる例は次の通り。

<%= i.select(:[列名], [選択肢]) %>

選択肢は、配列(表示名と実際の値が同じ)か、連想配列(表示名 => 実際の値)を、指定できる。

チェックボックス

チェックボックスでデータを表示・編集させる例は次の通り。

<%= i.check_box(:[列名]) %>

オプションとして、checkedの場合の値や、checkedでない場合の値を指定できる。

<%= i.check_box(:[列名], checked_value = "1", unchecked_value = "0" %>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-04-02 (日) 08:01:37 (4889d)