动态添加元素到表单

时间:2011-09-16 18:15:14

标签: jquery ruby-on-rails haml

我的目标是有一个表单,我填写一些细节,然后我可以点击“添加问题”,这是一个应该动态添加问题的链接。


日期:
名称:
说明:

添加问题

创建


我的 _form.html.haml 就是这样开始的(这个表格在观点/访谈中,因为我的目标是能够在面试中添加问题。但是,可以使用问题也独立于采访)

= form_for ([:posting, @interview]) do |ff|<br>
     - if @interview.errors.any?

   . . . (more fields) . . .

.field{:id => "overall_questions"} 
    =link_to "Add a Question", new_question_path, :remote => true
    %br/
    %br/

.field{:id => "individual_questions"} 
    =ff.label :whyyy
    =ff.fields_for  :questions, @interview.questions do |builder|
        = render :partial => "question_fields" 
    %br/  
    %br/

.actions
    = ff.submit 

_question_fields.html.haml

.fields{:id => "question#{builder.object.id}"}
    =ff.label :content, "Question"
    =link_to "Remove", question_path(builder.object.id), :remote => true, :confirm => "Are you sure?", :method => :delete
    %br/
    =ff.text_area :content, :rows => 3

:remote =&gt; true(来自_form.html.haml)被定向到我的 questions_controller.rb

def new

    @question = Question.new
    respond_to :js

end

这链接到我在视图/问题

下的 new.js.erb 文件
$('#individual_questions').clone().appendTo($('#overall_questions'))

问题是,我不太确定如何调用_question_fields.html.haml。我知道js.erb文件有效,因为我在单击“添加问题”时能够运行警告框,并且它目前还会在字段中附加带有个别问题的Whyyy。

1 个答案:

答案 0 :(得分:0)

下一集RailsCasts概述了实现此目的的一种方法:

http://railscasts.com/episodes/74-complex-forms-part-2

.haml问题而言,您应该能够修改剧集中的示例以确定该部分。只要它的名字遵循惯例(并且快速浏览它看起来像它),它应该没有太多麻烦。