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