Ruby on rails 使用UJS在Rails中动态插入多个嵌套表单_字段
在我的AJAX中,我一直遵循一个相当标准的UJS模型,它运行得非常好——但是有一种情况,我不确定最佳实践是什么。我有一个模特和一个有很多关系的人说: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
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年写的一个更基本的实现:
您知道您的关联应该是小写的,对吗<代码>属于:用户