Строка кода в Kaminari, которая реализует поведение, которое мы хотим изменить, находится в lib/kaminari/helpers/tags.rb
в методе Kaminari::Helpers::Tag::page_url_for
.
def page_url_for(page)
@template.url_for @template.params.merge(@param_name => (page <= 1 ? nil : page))
end
Чтобы переопределить это поведение,Я создал файл lib/kaminari/helpers/tag.rb
, содержащий следующее:
module Kaminari
module Helpers
class Tag
def page_url_for(page)
@template.url_for @template.params.merge(@param_name => (page < 1 ? nil : page))
end
end
end
end
Затем я исправил файл, добавив следующую строку в config/initializers/extensions.rb
:
require "lib/kaminari/helpers/tag.rb"
Мои извинения за любыенеловкость с терминологией Ruby / Rails, я все еще довольно плохо знаком с Ruby.Комментарии и критика приветствуются.