1

在 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()

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

4

1 回答 1

0

如果您有一个要显示 count 变量的元素,例如,您可以在 count 更新后立即<div id="count"></div>写入click 函数。$('#count').html(count)

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

<div id="count"><%= @initial_count %></div>
于 2012-07-13T22:11:10.257 回答