Мой вопрос, кажется, сбивает с толку, но здесь я объясню свою потребность ясно. У меня есть модель с именем Post
. Я использую Ajax
для фильтрации post
через date
.
Мой index
HTML выглядит так
<h1>Posts</h1>
<%= form_tag({:controller => 'posts', :action => 'dateFilter'},remote:
true )do %>
<%= date_field_tag :start_date %>
<%= date_field_tag :end_date%>
<%= submit_tag 'Submit' %>
<% end %>
<div class="row sort_paginate">
<%= render @posts %>
</div>
<%= will_paginate @posts ,renderer: BootstrapPagination::Rails %>
Как вы видите, я использую date
фильтр в моем post
, и я использую will-paginate
для нумерации страниц, и я рендерим партиал с именем post
. У меня есть index
и dateFilter
функция в пост-контроллере, как это
def index
@posts = @posts.paginate(:page => params[:page], :per_page => 2)
end
def dateFilter
start_date= params[:start_date].to_date.beginning_of_day
end_date=params[:end_date].to_date.end_of_day
@posts=Post.where(created_at: start_date..end_date).paginate(:page =>
params[:page], :per_page => 2)
end
Наконец-то у меня есть dateFilter
js
следующим образом
$('.sort_paginate').empty().html("<%= j render @posts %>")
Когда я попадаю на главную страницу, у меня есть хорошая нумерация страниц. Но когда я иду к фильтрации post
, я вижу пагинацию для страницы index
. Я знаю, что я использую .html()
, который просто заменит класс sort_paginate
, и это не влияет на @posts
в will_paginate
, поэтому я получаю пагинат index
. Но как сделать нумерацию страниц для отфильтрованных постов? Я пробовал много способов, таких как ajax-pagination
, и я не получаю то, что мне нужно.
Надеюсь, вы, ребята, получите мой вопрос. Любые предложения приветствуются.