计算表单中的嵌套字段集

Counting nested field sets in a form

本文关键字:字段 嵌套 表单 计算      更新时间:2023-09-26

在Rails中,有没有一种方法可以计算添加到表单中的嵌套字段的数量?

我目前有一个允许用户添加或删除嵌套属性的表单。

代码与Railscast基本相同http://railscasts.com/episodes/196-nested-model-form-revised只是根据我的需求(不同的控制器和型号名称)略有改变。

我想做的是计算当前表单中嵌套属性集的数量。有没有在Rails中这样做的方法,或者我使用jQuery会更好?

我需要能够访问视图中的值。

非常感谢您的帮助。如果您需要查看代码,请告诉我。

jQuery ->
  $('form').on 'click', '.remove_fields', (event) ->
    count--
    $(this).prev('input[type=hidden]').val('1')
    $(this).closest('.panel').hide()
    $('#price').text(count)
    event.preventDefault()
  $('form').on 'click', '.add_fields', (event) ->
    count++
    $('#price').text(count)
    time = new Date().getTime()
    regexp = new RegExp($(this).data('id'), 'g')
    $(this).before($(this).data('fields').replace(regexp, time))
    event.preventDefault()

在视图中,出于测试目的,我已将计数变量设置为1。我认为这需要在页面加载之前设置,因为它可能是最后一次加载javascript,因此不显示初始计数?

如果有一个元素要在其中显示计数变量,比如<div id="count"></div>,那么可以在计数更新后立即在单击函数中写入$('#count').html(count)

更新:对于初始计数(在用户单击添加/删除按钮之前),请在erb页面模板中包含计数

<div id="count"><%= @initial_count %></div>