我正在开发一种宽松的形式,并利用Ryan Bates铁路预报。 我正在形成一种使用部分的典型形式。
= form_for(@project, :html => { :class => addProjectForm }) do |f|
...
%p
= f.fields_for :crew_members do |crew|
#fields
= render crew_member_fields , :m => crew
= link_to_add_fields "Add Crew Members", f, :crew_members
%p
然后,我叫一个助手班,能够打上“现场”类,并添加到我的表格中。
module ProjectsHelper
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, h("add_fields(this, "#{association}", "#{escape_javascript(fields)}")"))
end
end
然后,助手班就叫作“javascript”处理细节。
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));
}
我要补充的是,我的问题是:
= link_to_add_fields "Add Crew Members", f, :crew_members
我照此错误。
undefined local variable or method `m for #<#<Class:0xa763964>:0xa761588>
Extracted source (around line #1):
1: = m.label "Crew Member Name"
2: = m.label "Crew Member Role"
3: %br
4: = m.text_field :name
因此,这似乎像部分内容没有变本加厉,但如果我没有。
= link_to_add_fields "Add Crew Members", f, :crew_members
因此,部分显示只是罚款。 我对如何下调感到困惑。 担任这一长期职务,但我想得到所有信息。 得到帮助。