2014-01-09 12 views
1

Я использую 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 

ответ

0

Для тех, кто испытывает такую ​​же проблему это был решен путем простого обновления Kaminari до последней версии