Javascript rails 4中使用AJAX进行实时搜索
我对使用ruby编程相当陌生。我试图用AJAX创建一个Livesearch,但这让我头疼。基本思想是,当用户创建一个节点时,可以存储在相同的位置:创建它的用户的信息、父节点等。为此,我进行了一次实时搜索,用户输入父节点的ID,与该节点对应的用户数据会自动出现。然后,在同一视图中,我想创建节点。到目前为止,我有以下代码,这是我没有做的工作 我想要这样的东西: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
(来源:)
问题:
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")) %>');