&tag(Rails/ビューヘルパー);
*目次 [#oc9a944f]
#contents
*関連ページ [#j3830015]
*参考情報 [#jc95aec1]
-[[ActionView::Helpers::FormTagHelper:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html]] //tag系のドキュメント。
^

*モデル連携フォーム [#n6e1c166]
*form  [#n6e1c166]

**form_for [#r2a2c009]

-form_forでモデル連携型のフォームが生成できる。
#pre{{
<%= form_for(@book) do |f| %>
タイトル: <%= f.text_field(:title, {:size => 40}) %>
<%= f.submit %>
<%= end %>
}}
-@bookが保存されているかどうかで、呼ばれるアクションが自動的に変わる。

**form_tab [#ie01aa9d]
-form_tagでもモデル連動は可能。
#pre{{
<%= form_tag({ :controller => 'books', :action => 'create'}) do %>
タイトル: <%= text_field(:book , :title, {:size => 40}) %>
<%= f.submit %>
<% end %>
}}


*select [#y126c61a]
tag系とそれ以外で最後のオプションの渡し方がことなるので注意。


**select_tag [#c1f82df1]

-options_for_selectを使えばオブジェクトの配列から生成することができる。
 select_tag 'xxx', options_for_select(@objects.map{|obj| [obj.title, obj.id]})

-select_tagでclassを指定したい場合。[[ActionView::Helpers::FormTagHelper:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html]]
 <%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %>

 
**options_for_select注意点 [#o1eaa616]
-ハッシュを渡してもいいけど、順番が保証されない。
-配列の配列を渡すのがいいらしい。
-もしくはオブジェクトの配列で上のようにmapする。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS