Jquery Rails-ajax替换不起作用的内容
我有一个输入文本,它在keyup上发送ajax请求并给出替换内容的响应。我的表格是这样的Jquery Rails-ajax替换不起作用的内容,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我有一个输入文本,它在keyup上发送ajax请求并给出替换内容的响应。我的表格是这样的 = form_for(:search, :url => "/users/search", :remote => true) do |f| = f.label :user, "Type to find users" = f.text_field :user def search @users = User.search(params[:user]) respond
= form_for(:search, :url => "/users/search", :remote => true) do |f|
= f.label :user, "Type to find users"
= f.text_field :user
def search
@users = User.search(params[:user])
respond_to do |format|
format.js{}
end
end
UsersController搜索操作基于ajax数据搜索用户,并呈现search.js.erb模板。我的搜索操作如下所示
= form_for(:search, :url => "/users/search", :remote => true) do |f|
= f.label :user, "Type to find users"
= f.text_field :user
def search
@users = User.search(params[:user])
respond_to do |format|
format.js{}
end
end
现在,search.js.erb模板很简单,如下所示:
$('.users_info').html(<%=j render @users %>);
$('.users_info').html();
如果我查看firebug,但没有替换页面中的内容,则响应是正确的。如果我发出警报,它会提醒用户。为什么我不能替换页面中的现有内容。有什么地方我做错了吗?真的有必要使用js.erb吗?看起来在你的情况下,你可以
$('form').bind('ajax:success', function(e, data){
$('.users_info').html(data);
});
如果您确实需要,请尝试:
$('.users_info').html('<%=j render 'search_user' %>');
$('.users_info').html('');
我现在知道我的错误了,我忘了在irb CPDE周围加引号