javascript - Rails 4 嵌套属性 link_to_function

标签 javascript ruby-on-rails ruby-on-rails-4 nested-attributes link-to-function

我正在制作一个简单的应用程序,应该使用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();
}
<小时/>

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

最佳答案

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

一个better tutorial can be found here (uses child_index)

<小时/>

我强烈建议您查看Cocoon gem

您将能够通过上面的链接看到它是如何工作的,但最重要的是您将能够使用它来调用您需要的任意数量的新表单元素:link_to_add_association ,或link_to_remove_association

关于javascript - Rails 4 嵌套属性 link_to_function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055111/

相关文章:

javascript - JQuery - 循环遍历具有相同类的 DIV 并为每个 DIV 创建数组

javascript - 将 name attr 替换为当前名称+另一个带有 jQ​​uery 的字符串?

ruby-on-rails - Has_many 上的 Rails Enum 问题,通过...无法从我的 Controller 调用方法

ruby-on-rails - ExecJS::RuntimeUnavailable 在 Rails 中

ruby-on-rails - 在 after_commit 中更新属性时防止无限循环,:on => :create

javascript - 如何获取 Javascript 嵌套对象的所有属性值(不知道键)?

javascript - 选择器的 jQuery 串联而不创建新实例?

ruby-on-rails - 我应该使用什么 Rails gem 来使用 Resque 进行重复性工作?

javascript - 基于元素样式的 RJS 条件 - Ruby on rails

ruby-on-rails - Ransack:以空白索引/无结果开始