我是 Ruby on Rails 的初学者,也是 Web 开发的初学者。我试图在 Railscasts ep 196 - 198 上学习 Neste 表单。在 javascript 和 helper 部分之前,我相当了解这一集。我仍然可以理解 javascript 中的“add_fields”函数,但是当他开始链接方法时,我就不知所措了。任何人都可以帮助和指导这个白痴吗?
application_jquery.js:
function remove_fields(link) {
$(link).prev("input[type=hidden]").val("1");
$(link).closest(".fields").hide();
}
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).parent().before(content.replace(regexp, new_id));
}
助手/application_helper.rb:
module ApplicationHelper
def link_to_remove_fields(name, f)
f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)")
end
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
render(association.to_s.singularize + "_fields", :f => builder)
end
link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")
end
end
顺便说一句,如果有帮助,我正在使用 Rails 4。