Javascript rails 4中使用AJAX进行实时搜索

Javascript rails 4中使用AJAX进行实时搜索,javascript,ruby-on-rails,ruby,ajax,livesearch,Javascript,Ruby On Rails,Ruby,Ajax,Livesearch,我对使用ruby编程相当陌生。我试图用AJAX创建一个Livesearch,但这让我头疼。基本思想是,当用户创建一个节点时,可以存储在相同的位置:创建它的用户的信息、父节点等。为此,我进行了一次实时搜索,用户输入父节点的ID,与该节点对应的用户数据会自动出现。然后,在同一视图中,我想创建节点。到目前为止,我有以下代码,这是我没有做的工作 我想要这样的东西: (来源:) 问题: AJAX不起作用,我肯定我忘记了一些重要的事情 不知道如何传递值“parent_id”(u users.html.erb

我对使用ruby编程相当陌生。我试图用AJAX创建一个Livesearch,但这让我头疼。基本思想是,当用户创建一个节点时,可以存储在相同的位置:创建它的用户的信息、父节点等。为此,我进行了一次实时搜索,用户输入父节点的ID,与该节点对应的用户数据会自动出现。然后,在同一视图中,我想创建节点。到目前为止,我有以下代码,这是我没有做的工作

我想要这样的东西:


(来源:)

问题:

  • AJAX不起作用,我肯定我忘记了一些重要的事情

  • 不知道如何传递值“parent_id”(u users.html.erb中的u.id,“live search”的结果)来创建节点

  • nodes\u controller.rb

    def new
    @node = Node.new   
    end
    
    def search
    @node = Node.new  
    @parent = Node.search(params[:search]).where(:ocuped => true)
    
    if not @users.nil?
      if @users.count == 1
        @node_incomplete = @users.nodes.where(" sons < ? AND ocuped = ?",2,true).first
      else
        @node_incomplete = @users.first.nodes.where(" sons < ? AND ocuped = ?",2,true).first
      end
      @son_of_incompleted_node = @node_incomplete.children
    end
    
    respond_to do |format|
      format.html
      format.js
    end
    
    application.js

    //= require jquery
    //= require jquery_ujs
    //= require turbolinks
    //= require foundation
    //= require_tree .
    
    $(function() {
      $("#users_search input").keyup(function() {
      $.get($("#users_search").attr("action"), $("#users_search").serialize(), null, "script");
    return false;
       });
     });
    
    nodes.js.cofee

    jQuery ->
    
    # Ajax search on keyup
    $('#users_search input').keyup( ->
      $.get($("#users_search").attr("action"), $("#users_search").serialize(), null, 'script')
    false
    )
    
    视图/节点/search.js.erb

    $('#users').html('<%= escape_javascript(render("users")) %>');
    
    $('#users').html('');
    
    //= require jquery
    //= require jquery_ujs
    //= require turbolinks
    //= require foundation
    //= require_tree .
    
    $(function() {
      $("#users_search input").keyup(function() {
      $.get($("#users_search").attr("action"), $("#users_search").serialize(), null, "script");
    return false;
       });
     });
    
    jQuery ->
    
    # Ajax search on keyup
    $('#users_search input').keyup( ->
      $.get($("#users_search").attr("action"), $("#users_search").serialize(), null, 'script')
    false
    )
    
    $('#users').html('<%= escape_javascript(render("users")) %>');