Я пытался настроить прямой поиск в режиме AJAX, следуя Railscast #240 без везения. Я считаю, что у меня все закодировано и правильно размещено в учебнике. И у меня установлен 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>
Попробуйте отладить его с помощью Firebug (для Firefox) или инструментов разработчика Chrome (просто нажмите Shift + Ctrl + I). – iblue
показывает передачу и получение данных, когда это необходимо ... поэтому я думаю, что по какой-то причине это может просто не обновлять контент. –
Я попытался переместить «render» tag_list'' в форму '#tag_search.' без разницы –