我是Ruby on Rails的初学者,也是Web开发的初学者。我试图在Railscasts ep 196 - 198上学习Neste表格。我非常理解这一集,直到javascript和helper部分。我仍然可以理解" add_fields"在javascript中运行但是当他开始链接这些方法时,我只是不堪重负。任何人都可以帮助和指导这个白痴吗?
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。
答案 0 :(得分:0)
我遇到了完全相同的问题 - 我认为问题是这需要为rails4重构。我已经想出如何将其余的代码更新到rails 4(我已经在铁路讨论线程中发布了这个) - 但是这个javascript和帮助程序代码现在没有做任何事情,我们显然缺少一些东西。任何人的帮助将不胜感激!
编辑:我将代码更新为更新后的铁路广播“403动态表单”中的内容,它可以正常运行(这是专业演员)。