index.html.erb
<%= form_tag ads_path, :method => 'get', :id => "ads_search" do %>
<%= label_tag("Поиск по тексту:") %>
<%= text_field_tag :search, params[:search] %>
<br/>
<a class="btn btn-success"><%= submit_tag "Найти", :name => nil %></a>
<% end %>
<br/>
<div id="ads">
<%= render 'ads' %>
</div>
<%= will_paginate @posts%>
index.js.coffee.erb
$('#ads').html('<%= escape_javascript(render 'views/ads/ads') %>');
_ads.html.erb
<h1>Список объявлений</h1>
<table>
<% @ads.each do |ad| %>
<h2><%= link_to ad.title, ad %></h2>
<%= ad.text %><br/>
<strong>Город: </strong><%= ad.city.name %><br/>
<strong>Дата публикации: </strong><%= ad.created_at %>
<% end %>
</table>
ad.rb
class Ad < ActiveRecord::Base
belongs_to :city
attr_accessible :title, :text, :number, :published_date, :city_id
def self.search(search)
if search
where('text LIKE ?', "%#{search}%")
else
Ad.all
end
end
end
ads_controller.rb
def index
@ads = @ads.paginate(:page => params[:page], :per_page => 50).order("created_at desc").search(params[:search])
end
application.js
//= require jquery
//= require jquery_ujs
//= require_tree .
$(function () {
// Search form.
$('#ads_search input').keyup(function () {
$.get($('#ads_search').attr('action'), ↵
$('#ads_search').serialize(), null, 'script');
return false;
});
});
Вроде все те файлы, что были в примере том указал.