В вашем примере, если вы хотите проверить группы модераторов и администраторов, у вас должно быть:
ключ: group_name
значение: moderators,admins
Технические детали для помощи, не обращайте на меня внимания.
Я попытался разобраться, изучив код, и думаю, что здесь есть проблема:
Параметры преобразуются перед вызовом run_query.
Допустим, у вас есть исходное значение: [{"key":"group_names","value":"admins,moderators"}]
Преобразованное значение будет таким: {{"key"=>"group_names", "value"=>"admins,moderators"}=>nil}
Однако cast_params, похоже, ожидает {"group_names"=>"admins,moderators"}.
Я попробовал протестировать это простое изменение, и параметры заработали.
def self.params_to_hash(query_params)
params = JSON.parse(query_params)
params_hash = {}
params.each do |param|
key = param["key"]
value = param["value"]
params_hash[key] = value
end
params_hash
end