Когда я создаю опрос с несколькими вариантами ответов, я могу задать минимальное и максимальное количество выборов перед активацией кнопки «Голосовать», но, похоже, это не работает для голосования по ранжированному выбору.
Если я создам опрос с пятью вариантами:
poll type=ranked_choice results=always min=1 max=3 public=false chartType=bar
Параметр max=3, кажется, не действует; пользователь всё ещё может ранжировать четыре или все варианты.
Параметр min=1 работает только если он равен 1. Если я установлю его на 2 или больше, опрос сам себя отменяет и превращается просто в маркированный список.
Возможно, это сделано намеренно, или это проблема, специфичная для работы ранжированного выбора?
У нас есть случай использования, когда мы хотим, чтобы пользователи ранжировали минимальное количество вариантов опроса, и ранжированный выбор предпочтительнее выбора нескольких вариантов.
Да, эта функция сейчас не поддерживается, но я бы точно не назвал это ошибкой.
Возможно, интерфейс Markdown слишком либерален, что вводит в заблуждение, и вы вполне можете утверждать, что это небольшая ошибка. Однако для тех, кто знаком с методом мгновенного повторного голосования, не должно быть сюрпризом, что это не часть алгоритма.
Это не является стандартной функцией голосования с выбором по рангам (Instant Run-off Voting), где избиратель имеет право выбрать количество кандидатов, которых он хочет ранжировать, и может воздержаться от ранжирования остальных.
Представьте, что вы ограничиваете кого-то на бумажном бюллетене. Кто-то может назвать ваш бюллетень испорченным, если вы ранжируете 4 из 5 кандидатов, хотя в инструкциях было указано, что можно выбрать только 3. Но, скорее всего, это не является обычной практикой, так как это вызовет путаницу и приведет к большому количеству испорченных бюллетеней, что может расстроить избирателей.
Как видите, в форме нет вводящей в заблуждение настройки для ранжированного выбора. Следовательно, ошибка не здесь. Я признаю, что она остаётся видимой в оболочке Markdown для опросов, и это может заставить вас полагать, что она может влиять на работу.
Я считаю, что это справедливее оформить как запрос на улучшение в канале Contribute > Feature. Переношу его туда.
Я был бы рад поработать над этим, если меня наняли бы для этого (я не являюсь членом команды Discourse и, как фрилансер, не получаю зарплату, время — деньги…). Если это важно для вас, рассмотрите возможность публикации в канале Marketplace или напишите мне в личные сообщения для получения расценки. Я с большим удовольствием отправлю pull request, если это будет приемлемо.