###このgemは動的にformを追加できるようにすることを目的としたもの
・本来ならhas_many,belongs_toの関係で使う
。
ruby
1<%= form_for(@hotel, html:{class: 'form-horizontal'}) do |f| %> 2... 3 <table class="table table-striped table-bordered table-hover"> 4 <tbody> 5 <tr> 6 <th>お部屋タイプ名</th> 7 <th>定員人数</th> 8 <th>メモ</th> 9 <th>Action</th> 10 </tr> 11 <%= f.nested_fields_for :roomtypes, wrapper_tag: :tr do |q| %> 12 <td><%= q.text_field :name, class: 'form-control' %></td> 13 <td><%= q.number_field :capacity, class: 'form-control' %></td> 14 <td><%= q.text_field :note, class: 'form-control' %></td> 15 <td><%= q.remove_nested_fields_link 'Delete', class: 'btn btn-danger', role: 'button' %></td> 16 <% end %> 17 </tbody> 18 </table> 19 <%= f.add_nested_fields_link :roomtypes, 'Add new', class: 'btn btn-primary', role: 'button' %> 20... 21<% end %> 22
しかし、has_many,belongs_to関係でないケースで使いたい。
具体的には、以下のコードのように問題、回答とのセットを@word
を保存する際に、一度に多くの問題、回答とのセットを保存するためのフォームを動的に増やしたい。
ruby
1<div class="row"> 2 <div class="col-md-6 col-md-offset-3"> 3 <%= form_for(@word) do |f| %> 4 <%= render 'shared/error_messages', object: f.object %> 5 <%= f.label :image,"ホーム画像" %> 6 <%= f.file_field :image,class: 'form_control'%> 7 8 <%= f.label :japanese,"問題"%> 9 <%= f.text_area :japanese, class: 'form-control' %> 10 11 <%= f.label :english, "回答" %> 12 <%= f.text_area :english, class: 'form-control' %> 13 14 <%= f.remove_nested_fields_link 'Delete', class: 'btn btn-danger' %> 15 <br> 16 <hr> 17 <%= f.nested_fields_for :words do |q| %> 18 19 <%= q.label :image,"ホーム画像" %> 20 <%= q.file_field :image,class: 'form_control'%> 21 22 <%= q.label :japanese,"問題"%> 23 <%= q.text_area :japanese, class: 'form-control' %> 24 25 <%= q.label :english, "回答" %> 26 <%= q.text_area :english, class: 'form-control' %> 27 28 <%= q.remove_nested_fields_link 'Delete', class: 'btn btn-danger' %> 29 30 <% end %> 31 <br> 32 <%= f.add_nested_fields_link :words, 'Add new', class: 'btn btn-success'%> 33 <hr> 34 <%= f.submit ' my words', class: "btn btn-primary" %> 35 <% end %> 36 </div> 37</div> 38 39 40
回答よろしくお願いしましす。
あなたの回答
tips
プレビュー