[Rails5] Fix per_page
in lib/gitlab/multi_collection_paginator.rb
In Rails 5 the `per_page` argument came from `params` is String but an Integer is expected. This commit explicitly converts `per_page` to an Integer. It fixes the errors like: ``` 1) Groups::ChildrenController GET #index for subgroups filtering children succeeds if multiple pages contain matching subgroups Failure/Error: hash[page] = second_collection.page(second_collection_page) .per(per_page - paginated_first_collection(page).size) .padding(offset) NoMethodError: undefined method `-' for "3":String Did you mean? -@ # ./lib/gitlab/multi_collection_paginator.rb:42:in `block in paginated_second_collection' # ./lib/gitlab/multi_collection_paginator.rb:46:in `paginated_second_collection' # ./lib/gitlab/multi_collection_paginator.rb:14:in `paginate' # ./app/finders/group_descendants_finder.rb:52:in `children' # ./app/finders/group_descendants_finder.rb:34:in `execute' # ./app/controllers/groups/children_controller.rb:36:in `setup_children' # ./app/controllers/groups/children_controller.rb:18:in `index' # ./lib/gitlab/i18n.rb:50:in `with_locale' # ./lib/gitlab/i18n.rb:56:in `with_user_locale' # ./app/controllers/application_controller.rb:351:in `set_locale' # ./spec/controllers/groups/children_controller_spec.rb:182:in `block (5 levels) in <top (required)>' # ./spec/spec_helper.rb:198:in `block (2 levels) in <top (required)>' ```
This commit is contained in:
parent
35816eb7be
commit
0e9297b37a
1 changed files with 1 additions and 1 deletions
|
@ -5,7 +5,7 @@ module Gitlab
|
|||
def initialize(*collections, per_page: nil)
|
||||
raise ArgumentError.new('Only 2 collections are supported') if collections.size != 2
|
||||
|
||||
@per_page = per_page || Kaminari.config.default_per_page
|
||||
@per_page = (per_page || Kaminari.config.default_per_page).to_i
|
||||
@first_collection, @second_collection = collections
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue