Ruby on rails 在rails表单中增加标题

Ruby on rails 在rails表单中增加标题,ruby-on-rails,ruby,Ruby On Rails,Ruby,当用户在新表单中添加一个级别时,我试图在下面的表单中使标题按数字递增。例如,当用户单击“添加级别”时,应显示为“级别2”,如果用户添加另一个级别,则显示为“级别3” <%= form_for(@course) do |f| %> <%= render 'shared/error_messages_courses' %> <div class="courseCreator"> <%= f.lab

当用户在新表单中添加一个级别时,我试图在下面的表单中使标题按数字递增。例如,当用户单击“添加级别”时,应显示为“级别2”,如果用户添加另一个级别,则显示为“级别3”

    <%= 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>
这是我想增加标题的第二部分

<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>
这是第一个存在“添加级别”按钮的部分

    <%= 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>

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

    <%= 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>
视图:

    <%= 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>
部分:

    <%= 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>
<%= f.label :title, "Level #{index}"%>

>Level 2.next=>Level 3Did不起作用。谢谢你,thoughLevel.next不会增加到级别1。你必须以一个数字作为字符串中的最后一个字符开始,否则这个技巧就不起作用了。这似乎应该起作用,但在我复制并粘贴了你的代码后,它只输出级别1。由于某种原因,它不会增加。回到这里,无论出于什么原因,我需要一个@符号