Я использую Kaminari на своем сайте с кнопкой «загрузить больше», чтобы показать еще шесть элементов при нажатии. Он отлично работает, но когда я пытаюсь добавить порядок сортировки, он не передает параметры в link_to_next_page def, хотя я могу видеть это в html ...Kaminari Pagination with Filter
Другой вопрос, заданный по этому поводу, передал параметры на ссылку link_to_next_page но это не имеет значения.
Пример: Когда я пытаюсь сортировать по самой низкой цене> самая высокая цена, первые шесть элементов сортируются, но при загрузке больше порядок сортировки случайный.
Может ли кто-нибудь посоветовать здесь?
Спасибо.
Некоторый код ...
index.html.erb
<div id="offers">
<%= render :partial => @television_offers %>
</div>
<%= link_to_next_page @television_offers, 'Load More', :remote => true, :id=>"load_more_link", :params => params %> </div>
index.js.erb
$('#offers').append("<%= escape_javascript(render :partial => @television_offers)%>");
$('#load_more_link').replaceWith("<%= escape_javascript(link_to_next_page(@television_offers, 'Load More', :remote => true, :id=>'load_more_link', :params => params))%>");
application_helper.rb
def link_to_next_page(scope, name, options = {}, &block)
param_name = options.delete(:param_name) || Kaminari.config.param_name
link_to_unless scope.last_page?, name, {param_name => (scope.current_page + 1)}, options.merge(:rel => 'next') do
block.call if block
end
end
television_offers_controller.rb
def index
@television_offers = TelevisionOffer.page(params[:page]).per(6)
if params[:filter] == "large_screens"
@television_offers = @television_offers.large_size
elsif params[:filter] == "small_screens"
@television_offers = @television_offers.small_size
elsif params[:filter] == "price"
if params[:order] == "asc"
@television_offers = @television_offers.asc(:offer_price)
else
@television_offers = @television_offers.desc(:offer_price)
end
else
@television_offers = @television_offers.best
end
end