- 追加された行はこの色です。
- 削除された行はこの色です。
&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する。