Если вы хотите использовать весь JavaScript-подход (вместо вызова вашего сервера для получения имен полей), то в основном вам просто нужно увеличивать имена полей для любых новых полей.
Например, если у вас есть
class Form < ActiveRecord::Base
has_many :fields
accepts_nested_attributes_for :fields
и HTML в форме имеет поле ввода, которое имеет что-то вроде
<label for="form_fields_attributes_0_name">
<input id="form_fields_attributes_0_name" name="form[fields_attributes][0][name]" type="text" />
, тогда вам нужно написать некоторый JavaScript, чтобы он выглядел как
<label for="form_fields_attributes_1_name">
<input id="form_fields_attributes_1_name" name="form[fields_attributes][1][name" type="text" />
Вы можете сделать что-то вроде
$('#form_fields_attributes_1_name').attr('id').split('_');
и
$('#form_fields_attributes_1_name').attr('name').split(/\]\[/);
, чтобы получить эти цифры.
Вот пример , который подвергается рефакторингу здесь.