代码之家  ›  专栏  ›  技术社区  ›  Sergio Nekora

Object〔Object Object〕没有方法“nestedFields”-awesome_nested_fields gem-Rails 3.2 jquery-ui-1.9.2

  •  1
  • Sergio Nekora  · 技术社区  · 11 年前

    我已经安装了这个 pretty looking gem 在过去的两个小时里,我一直在努力让它发挥作用。

    我设法在父窗体中显示嵌套字段,并创建/更新记录。

    但是,添加/删除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();
    });
    

    我也试过用潜水器的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包含一个非常聪明的句子,不应该删除: //警告:第一个空行标志着要处理的内容的结束,任何空行都应该 //按照以下要求进行。 所以只要确保每一个//=要求。。。就在另一个的正下方。否则你会错过方法!!

    1 回复  |  直到 11 年前
        1
  •  0
  •   ted    11 年前

    似乎没有加载所需的javascript库,所以请确保:

    //= require jquery.nested-fields
    

    正确包含在 app/assets/javascripts/application.js