Ruby on rails 使用UJS在Rails中动态插入多个嵌套表单_字段

Ruby on rails 使用UJS在Rails中动态插入多个嵌套表单_字段,ruby-on-rails,ujs,Ruby On Rails,Ujs,在我的AJAX中,我一直遵循一个相当标准的UJS模型,它运行得非常好——但是有一种情况,我不确定最佳实践是什么。我有一个模特和一个有很多关系的人说: class User < ActiveRecord::Base has_many :aliases accepts_nested_attributes_for :aliases, :allow_destroy => true end class Alias < ActiveRecord::Base belongs_t

在我的AJAX中,我一直遵循一个相当标准的UJS模型,它运行得非常好——但是有一种情况,我不确定最佳实践是什么。我有一个模特和一个有很多关系的人说:

class User < ActiveRecord::Base
  has_many :aliases
  accepts_nested_attributes_for :aliases, :allow_destroy => true
end

class Alias < ActiveRecord::Base
  belongs_to :User
end
这将使用我新的_ajax.js.erb模板进行回复,该模板如下所示:

def new_ajax
      @alias = Alias.new({})
      respond_to do |format|
        format.js
      end
  end
$('#aliases-container').append('<%= j(render 'ajax_new')%>');
<%=simple_fields_for @alias do |f|%>
    <%= f.input :name %>
<% end %>
$(“#别名容器”).append(“”);
从而呈现一个如下所示的模板:

def new_ajax
      @alias = Alias.new({})
      respond_to do |format|
        format.js
      end
  end
$('#aliases-container').append('<%= j(render 'ajax_new')%>');
<%=simple_fields_for @alias do |f|%>
    <%= f.input :name %>
<% end %>


这一切都有效,我得到了我的别名表单字段呈现-但问题是ID和名称属性在嵌套字段中设置不正确。ID和别名应按顺序编号,以便在create方法中正确建立关联并进行错误处理。有人能解决这个问题吗?

您遇到的问题是添加新嵌套字段的基本问题

简单的答案是使用
child\u index:Time.now.to\u i
作为
字段;但是,您必须在
对象的
表单中调用它,以便Rails正确地创建
名称
等。听起来很复杂,但当你想起来的时候就很简单了:


#app/controllers/users_uuucontroller.rb
类UsersController
您可以看到我在2013年写的一个更基本的实现:

您知道您的关联应该是小写的,对吗<代码>属于:用户