我正在制作一个应该使用rails 4动态删除字段的简单应用程序,我正在按照rails cast tutorial 执行此操作,但是它在rails 3中,我管理以解决大部分问题,感谢上帝,但我是卡在这一个,删除链接正确显示它只是不工作!
当我转到localhost:3000/survey/new
时,每件事情看起来都很好,并且删除链接应该是
当我点击删除网址时,只需从localhost:3000/survey/new
更改为localhost:3000/survey/new#
这是我的代码的一部分,我认为它与删除链接
有关#_form.html.erb
<%= f.fields_for :questions do |ff| %>
<div class="field">
<%= render 'question_fields', :f => ff %>
</div>
<% end %>
#_question_field.html.erb
<div class="field">
<p>
<%= f.label :content , "question"%><br>
<%= f.text_area :content %>
<%= link_to_remove_fields "remove", f %>
</p>
</div>
module ApplicationHelper
def link_to_remove_fields(name, f)
f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)")
end
end
#application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
function remove_fields(link) {
$(link).previous("input[type=hidden]").value = "1";
$(link).parent(".fields").hide();
}
任何帮助,因为我不知道该做什么或缺少什么
答案 0 :(得分:3)
Railscast有几个缺陷 - 最突出的是它只允许将单个表单元素附加到页面上(它使用表单元素预先加载JS链接并且保持将相同的元素放在页面上 - 问题是这个element与其他元素具有相同的id
A better tutorial can be found here (uses child_index
)
我强烈建议您查看Cocoon gem
您将能够看到它如何与上面的链接一起使用,但最重要的是您可以使用它来根据需要调用尽可能多的新表单元素:{{3} },或link_to_add_association