Я пытаюсь создать какой-то поиск в приложении ruby on rails и хочу добавить поддержку ajax. Я хочу, когда пользователь вводит в поле поиска слово, ajax автоматически генерирует результаты. И я обыскал почти весь интернет и не смог найти ответ на следующий вопрос:
Когда я набираю текст в моей области, ничего не происходит. Это как ajax вообще не работает.
Проблема Tre в наблюдаемом поле, которое должно наблюдать мой id = 'query', но кажется, что оно ничего не делает
Я использую Prototype 1.6.1 и новейшую версию рельсов.
Код, который я написал:
зритель:
<form name="sform" action="" style="display:inline;">
<label for="item_name">Filter on Property No : </label>
<%= text_field_tag(:query, params['query'], :size => 10, :id => 'query' ) %>
</form>
<%= image_tag("/images/system/blue_small.gif",
:align => "absmiddle",
:border => 0,
:id => "spinner",
:style =>"display: none;" ) %>
</p>
<%= observe_field 'query', :frequency => 1,
:update => 'table',
:before => "$('#spinner').show()",
:success => "$('#spinner').hide()",
:url => {:action => 'list'},
:with => 'query' %>
<div id="table">
<%= render :partial => "items_list" %>
</div>
А мой контроллер:
def list
sort = case params['sort']
when "Title" then "title"
when "address" then "address"
when "close date" then "close_date"
when "property_no_reverse" then "property_no DESC"
when "address_reverse" then "address DESC"
when "close_date_reverse" then "close_date DESC"
end
conditions = ["title LIKE ?", "%#{params[:query]}%"] unless params[:query].nil?
@total = Message.count(:conditions => conditions)
@accounts = Message.paginate :page => params[:page], :per_page => 10, :order => sort, :conditions => conditions
if request.xml_http_request?
render :partial => "items_list", :layout => false
end
end
Буду очень признателен за любую помощь!