Paginado y Ransack en la parte del controlador y su vista, formulario para la busqueda https://github.com/activerecord-hackery/ransack
<%= paginate @$Variable$ %><%= search_form_for @q do |f| %>
<%= f.label :$field$_cont %>
<%= f.search_field :$field$_cont %>
<br />
<%= f.submit class: 'btn btn-default' %>
<% end %>@q = $Modelo$.ransack(params[:q])
@$Variable$ = @q.result(distinct: true).order("created_at DESC").page(params[:page]).per(20)