2012-02-06 72 views
1

我一直試圖通過遵循Railscast #240而沒有運氣來設置AJAX實時搜索。我相信我已經編碼並根據教程正確放置了所有內容。並且我安裝了jquery-rails gem並重新啓動服務器。我已將javascript_include_tag放入<head>。然而,搜索的反應與之前的方式完全相同。有什麼我失蹤?我的AJAX搜索不起作用

application.html.erb

<%= stylesheet_link_tag "scaffold", "elements", "layout" %> 
    <%= javascript_include_tag 'application' %> 
    <%= javascript_include_tag 'jquery' %> 
    <%= javascript_include_tag 'jquery_ujs' %> 
    <%= csrf_meta_tag %> 

的application.js

$(function() { 
    $("#tag_search input").keyup(function() { 
    $.get($("#tag_search").attr("action"), $("#tag_search").serialize(), null, "script"); 
    return false; 
    }); 
}); 

_tag_list.html.erb

<% @tags.each do |tag| %> 
    <%= button_to "#{tag.name} - #{tag.reports.size}", assign_tag_url(:tag_id => tag.id, :report_id => @report.id), :method => :post %> 
<% end %> 

show.js.erb

$("#tag_list").html("<%= escape_javascript(render("tag_list")) %>"); 

show.html.erb

<div id="search_tags"> 
    <%= form_tag @report, :method => :get, :id => "tag_search" do %> 
     <p> 
      <%= text_field_tag :search_tags, params[:search_tags], :placeholder => 'search tags...' %> 
      <%= submit_tag "Search", :name => nil %> 
     </p> 
    <% end %> 
</div> 
<div id="tag_list"> 
    <%= render 'tag_list' %> 
</div> 
+0

嘗試使用Firebug(適用於Firefox)或Chrome開發人員工具(只需按Shift + Ctrl + I)進行調試。 – iblue 2012-02-06 20:20:54

+0

它顯示數據發送和接收時,它應該...所以我想它可能只是因爲某些原因不更新內容。 – 2012-02-07 03:09:58

+0

我試着將'render'tag_list''調用移動到'#tag_search表單中。'沒有什麼區別 – 2012-02-07 16:33:49

回答

0

嘗試後 '的jquery.js' 加載 '的application.js'。

+0

好的想法,也許是很好的做法,所以我做了改變,但沒有幫助 – 2012-02-06 19:00:27