2011-02-18 86 views
0

我一直在关注包含问题的调查表单的railscasts'嵌套模型表单部件1 & 2',其中包含的问题又包含答案。 问题是,当调查表单最初显示时,会显示一个问题栏以及一个答案栏。 当用户点击'添加问题'字段时,只显示问题字段。直到用户点击“添加答案”,才会显示答案字段。嵌套模型表格 - 动态添加/删除字段

我希望当用户点击'添加问题'时最初显示问题字段和答案字段。

目前的代码是这样的:

# helpers/application_helper.rb 
module ApplicationHelper 

    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 




// application.js 

function add_fields(link, association, content) { 
    var new_id = new Date().getTime(); 
    var regexp = new RegExp("new_" + association, "g") 
    $(link).up().insert({ 
    before: content.replace(regexp, new_id) 
    }); 
} 

任何帮助将非常感激。

感谢很多:)

回答

1

render(association.to_s.singularize + "_fields", :f => builder)调用部分包含的问题领域。你应该在view/questions /目录中寻找_question_fields并在那里添加一个答案字段

+0

谢谢你的建议,但是我的'_question_fields'文件确实包含以下内容:<%f.fields_for:answers do | builder | %> <%=呈现'answer_fields',::f =>构建器%> <% end %> – Kim 2011-02-18 16:11:59