Top > 開発ガイド > コンポーネント開発逆引きリファレンス > フォームを表示する
フォームを表示する
対象バージョン
当ドキュメントはRubricks-0.6.x向けです。
概要
フォームを表示するために以下のヘルパが用意されています。
| 提供元 | ヘルパ | 更新種別 | 更新対象 | 使用ケース | ||||
| Rails | form_tag | 全画面更新 | 全画面 | フォームタグ(Ajax通信非対応)を表示する。 | ||||
| form_remote_tag | Ajax更新 | 指定したidのdiv | フォームタグ(Ajax通信対応)を表示する。 ⇒指定したidによって更新箇所を指定できる。 |
|||||
| Rubricks | form_main_tag | メインコンテンツ | メインコンテンツを部分更新するフォームタグ(Ajax通信対応)を表示する。 | |||||
Rubricksが提供している「form_main_tag」は「form_remote_tag」を継承する形で実装されており、更新対象のDOM-IDをRubricksのメインコンテンツに自動的にセットしています。
使い方
「Sample」コンポーネント-「Index」コントローラ-「update」メソッドを対象としてメインコンテンツのみを更新するフォームを生成する場合、以下の記述が考えられます。
form_remote_tagを使う
<%= form_remote_tag :url => {:controller => '/sample/index', :action => 'update'}, :update => 'rubricks_partition_m' %>
form_main_tagを使う
<%= form_main_tag :url => {:controller => '/sample/index', :action => 'update'} %>
form_tagを使う
下記のように記述することも可能ですが、link_toと同様にオーバーヘッドが掛かるのに加えて、updateアクションの処理内で適切にリダイレクトする必要があります。
<%= form_tag :controller => '/sample/index', :action => 'update' %> ==================================================================== def update ...... redirect_to :controller => '/sample/index', :main => '_main' end
API
form_main_tag(options = {}, &block)
- 更新対象のDOM-IDとしてRubricksのメインコンテンツをセットします。
| 引数 | 必須 | 初期値 | 型 | 説明 |
| options | ○ | - | Hash | オプション。 |
| &block | ○ | - | - | フォームの詳細を記述。 |
