Rails嵌套表单字段计数器

时间:2012-11-11 20:08:38

标签: ruby-on-rails ruby-on-rails-3 nested-forms

我正在使用https://github.com/ryanb/nested_form作为嵌套表单。嵌套的表单工作正常,我现在希望有一种计数器,因为我想在运行的数字序列中存储嵌套的属性。当使用link_to_add时它应该计数+ 1,当link_to_remove

时它应该计数-1

嵌套部分:

<%= f.fields_for :instructions do |instruction| %>
  <%= instruction.label :"instruction #{instruction}" %>
  <%= instruction.text_field :instruction %>
  <%= instruction.link_to_remove "Remove this instruction" %>
<% end %>
<p>
<%= f.link_to_add "Add instruction", :instructions, class: "btn btn-small btn-primary"  %>
</p>

我正在考虑使用变量进行简单计数,但我不确定如何触发增量。我已经尝试添加到link_to_add,link_to_remove字段,但它会因错误而停止。如果这是一个基本的问题,我仍然是新手,并原谅我

1 个答案:

答案 0 :(得分:1)

如果您需要序列,可以使用序列化gem e.g或者使用sequence_no字段。如果您需要的只是一个计数器并且不关心订单(或者已经在控制器/模型中订购),尽管我只会在'show'中这样做...

<% just_a_counter = 0 %> #creates counter and sets to 0
<%= f.fields_for :instructions do |instruction| %>
  <% just_a_counter += 1 %> #increments counter
  S/No : <%= just_a_counter %> #displays
  #your other code
<% end %>