0

我有一个输入文本,它在 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 %>);

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

4

1 回答 1

1

真的有必要使用js.erb吗?在您的情况下,您可能只是简单地

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

如果您确实需要,请尝试:

$('.users_info').html('<%=j render 'search_user' %>');
于 2012-05-05T13:10:33.550 回答