我观看了嵌套模型表单的教程:https://www.youtube.com/watch?v=amT27SfNhKM&ab_channel=RailscastsReloaded
我无法弄清楚那里发生了什么,说实话,我也遇到了一些问题。例如:
我尝试实现代码,并编写了教程中描述的javascript:
$('form').on 'click', '.add_fields', (event) ->
alert("----")
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before( $(this).data('fields').replace(regexp, time) )
event.preventDefault()
如果我理解正确,这是在网页中插入新的表单元素并用生成的表单替换它们的ID,以便网络服务器能够识别它们。但是,会发生什么,RegEx取代了&#39; id &#39;在&#39; h id den&#39;中,使我的<%= f.hidden_field :_destroy %>
表单可见。
另外,我不知道这里发生了什么(我做了一些调整,因为我没有使用关联,而是在我的模型中使用基于JSON的字段):
def link_to_add_fields(name, f, association)
new_object = Education.new({name: '', degree: ''})
id = new_object.object_id
fields = f.fields_for(association, new_object, child_index: id) do |builder|
render("education_fields", f:builder)
end
link_to(name, '#', class: "add_fields", data: {id: :id, fields: fields.gsub("\n","") })
end
这个教程是否有任何好处?他解决这个问题的方式似乎非常复杂。