以轨道形式增加标题

时间:2013-06-14 19:03:52

标签: ruby-on-rails ruby

我正在尝试通过下面的表单中的数字来增加标题,因为用户添加了一个级别(一个新表单)。例如,当用户点击添加级别时,它应该说“级别2”,如果他们添加另一个,则说“级别3”

这是我想要增加标题的第二部分

<fieldset class="levelCreator">
<%= f.label :title, "Level"%> <br /><%# This is what I would like to increment %>
<%= f.text_field :title %><br />
<%= f.hidden_field :_destroy %>
<%= link_to "remove", '#', class: "btn btn-danger btn-mini remove_fields" %>
<%= f.fields_for :steps do |builder| %>
    <%= render 'step_fields', f: builder %>
<% end %>
<%= link_to_add_fields "add step", f, :steps %>

这是添加级别按钮存在的第一个部分          

    <%= form_for(@course) do |f|  %>
        <%= render 'shared/error_messages_courses' %>

        <div class="courseCreator">

        <%= f.label :title %>
        <%= f.text_field :title %>

        <%= f.label :description %>
        <%= f.text_field :description %>

        <%= f.label :typeof %>
        <%= f.text_field :typeof %>

        </div>

        <%= f.fields_for :levels do |builder| %>
        <%= render 'level_fields', f: builder %>
        <% end %>
        <%= link_to_add_fields "add level", f, :levels %>


        <%= f.submit "Save", class: "btn btn-large btn-primary save" %>

    <% end %>
</div>
 </div>

1 个答案:

答案 0 :(得分:0)

它可能不是很优雅,但父视图中的计数器应该这样做:

视图:

<% index = 1 %>
<%= f.fields_for :levels do |builder| %>
  <%= render 'level_fields', {f: builder, index: index} %>
  <% index = index + 1 %>
<% end %>

部分:

<%= f.label :title, "Level #{index}"%>