저는 Ruby on Rails의 초보자이며 일반적으로 웹 개발의 초보자입니다. Railscasts ep 196 - 198에 Neste 양식을 배우려고했습니다. Javascript 및 도우미 부분까지 에피소드를 공정하게 이해합니다. 나는 여전히 자바 스크립트에서 "add_fields"함수를 이해할 수 있지만 그가 메소드를 연결하기 시작했을 때, 나는 압도 당했다. 누구든지이 바보를 도울 수 있습니까?Ruby on Rails 중첩 모델 내역
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
도움이된다면, 나는 레일 4를 사용하고 있습니다.