diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index 9c6d5279c0c..558fc168da6 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -620,7 +620,7 @@ class CategoriesController < ApplicationController include_topics: include_topics, include_subcategories: include_subcategories, tag: params[:tag], - page: params[:page].to_i, + page: params[:page].try(:to_i) || 1, } @category_list = CategoryList.new(guardian, category_options) diff --git a/spec/requests/categories_controller_spec.rb b/spec/requests/categories_controller_spec.rb index 3c29bf0dd29..d8fb02aac1a 100644 --- a/spec/requests/categories_controller_spec.rb +++ b/spec/requests/categories_controller_spec.rb @@ -425,6 +425,11 @@ RSpec.describe CategoriesController do expect(response.status).to eq(200) expect(response.parsed_body["category_list"]["categories"].count).to eq(0) end + + it "does not error out if page is a nested parameter" do + get "/categories.json?page[foo]=2" + expect(response.status).to eq(200) + end end end