我已经安装了这个漂亮的 gem,并在过去的 2 个小时里试图让它工作。
我设法在父表单中显示嵌套字段并创建/更新记录。
但是,添加/删除 JS 链接不起作用。这是因为在控制台中给了我这个错误。
Uncaught TypeError: Object [object Object] has no method 'nestedFields' neste_attributes_forms.js:2
(anonymous function) neste_attributes_forms. js:2
fire jquery.js:1018
self.fireWith jquery.js:1128
jQuery.extend.ready jquery.js:417
DOMContentLoaded
我是 JS 的新手。所以,我不确定问题是什么。
我尝试了与 gem 页面上相同的代码:
$(document).ready(function(e) {
$('FORM').nestedFields();
});
我也尝试过通过 div 的 id 调用。但是,无济于事。我检查了页面源并加载了这段代码。
你知道我错过了什么吗?非常感谢任何帮助!!!
形式的一部分:haml
= form_for(@event) do |f|
....somefields....
#nested_layers
.items
= f.nested_fields_for :details do |f|
%fieldset.item
= f.label :town
= f.text_field :town
%a.remove{:href => "#"} remove
= f.hidden_field :id
= f.hidden_field :_destroy
%a.add{:href => "#"} add phone
..someOtherFields....
应用程序.js
//= require jquery
//= require jquery_ujs
//= require jquery-ui-1.9.2.custom.min
//= require jquery.nested-fields
....
已修复:Application.js 包含一个不应删除的非常聪明的句子: // 警告:第一个空白行标志着要处理的内容的结束,任何空白行都应该 // 遵循以下要求。因此,只需确保每个 //= require... 都在另一个下方。否则你会错过方法!