Rails 4嵌套属性link_to_function



我正在制作一个简单的应用程序,应该使用rails 4动态删除字段,我基本上是按照rails cast教程来做的,但在rails 3中,感谢上帝,我设法解决了大部分问题,但我被困在了这个问题中,删除链接显示正确,它就是不起作用!!!

当我转到localhost:3000/survey/new时,一切看起来都很好,删除链接也应该是

当我点击删除url时,只需从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();
}

任何帮助,因为我不知道该做什么或缺少什么

Railscast有几个缺陷,最突出的是它只允许将单个表单元素附加到页面上(它用表单元素预加载JS链接,并不断将相同的元素放在页面上——问题是这个元素与其他元素具有相同的id

更好的教程可以在这里找到(使用child_index


我强烈建议您查看Cocoon宝石

您可以通过上面的链接看到它是如何工作的,但最重要的是,您可以使用它来调用所需的任意多个新表单元素:link_to_add_associationlink_to_remove_association

相关内容

最新更新