我有一个输入文本,在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 %>);
如果我查看萤火虫但未替换页面中的内容,则响应正确。如果我发出警报,它会提醒用户。为什么我无法替换页面中的现有内容。有什么我做错了吗?
答案 0 :(得分:1)
是否真的有必要使用js.erb?看起来在你的情况下你可能只是
$('form').bind('ajax:success', function(e, data){
$('.users_info').html(data);
});
如果您真的需要,请尝试:
$('.users_info').html('<%=j render 'search_user' %>');