Rails ajax替换不起作用的内容

时间:2012-05-05 12:53:32

标签: 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

UsersController搜索操作根据ajax数据搜索用户,并呈现search.js.erb模板。我的搜索操作如下所示;

 def search
    @users = User.search(params[:user])
    respond_to do |format|
      format.js{}
    end
  end

现在,search.js.erb模板很简单,就像;

$('.users_info').html(<%=j render @users %>);

如果我查看萤火虫但未替换页面中的内容,则响应正确。如果我发出警报,它会提醒用户。为什么我无法替换页面中的现有内容。有什么我做错了吗?

1 个答案:

答案 0 :(得分:1)

是否真的有必要使用js.erb?看起来在你的情况下你可能只是

$('form').bind('ajax:success', function(e, data){
    $('.users_info').html(data);
});

如果您真的需要,请尝试:

$('.users_info').html('<%=j render 'search_user' %>');