Это работает! Большое спасибо. Я понимаю, что с помощью метода match здесь вы анализируете URL, чтобы получить, предположительно, третье вхождение символа “/”, так как ID всегда появляется после третьего “/” в URL, который имеет формат “/t/name/id/otherstuff”. Не могли бы вы немного объяснить, как именно ваше регулярное выражение это делает? Это было бы очень полезно в моём изучении регулярных выражений.
Спасибо за информацию. То есть именно “linked_post_number” иногда появляется и сбивает мой API-вызов. Вы здесь говорите, что он “необязательный” — есть ли способ гарантировать, что он никогда не будет отображаться?
Когда пользователь заходит на страницу просмотра темы, я хочу:
- Программно узнать все теги, связанные с этой темой. Обратите внимание, что некоторые теги скрыты от просмотра пользователем.
- Добавить на страницу темы кнопку, которая при нажатии добавляет определённый скрытый тег к теме (если его там ещё нет) и удаляет его (если тег уже есть).
Всё это вполне реализуемо с помощью Admin API и JavaScript/jQuery (при условии, что я смогу получить правильный URL темы для использования в API-вызовах).
Полагаю, единственный другой способ сделать что-то подобное — создать плагин, углубившись в 1. Ember, 2. Rails и 3. исходный код Discourse. Я изучил ключевые посты и документацию Discourse о том, как это сделать, но процесс идёт медленно, так как необходимо действительно понимать эти три компонента. Поэтому пока я сосредоточился на подходе через API.
Мне было бы интересно узнать, есть ли другой способ сделать это, который уменьшил бы нагрузку на сервер.