Всем привет, надеюсь, я публикую это в нужном месте. Я пытаюсь разработать плагин для своего нового сайта на Discourse.
Я сделал форк репозитория с примером здесь, настроил работу Plugin Outlet, но затем уперся в стену и начал чувствовать себя довольно потерянным и растерянным. Я только недавно начал разбираться в MVC PHP-фреймворках, таких как Laravel, но с JS-фреймворками я абсолютно новичок. Раньше я никогда не работал с Ruby, Rails или Ember.
Проблема
Мой сайт предназначен для сообщества ТСЖ (HOA). Моя задача — собирать и сохранять несколько дополнительных полей данных для каждого пользователя:
legal_name(строка)is_owner(булево)is_resident(булево)building(строка) — номер зданияunit(строка) — номер квартиры- … и несколько других внутренних переменных, например, подтвердил ли модератор пользователя.
Я хочу сделать эти поля обязательными при регистрации пользователей. Это означает, что нужно изменить форму регистрации. Я подключился к outlet create-account-after-password и вывел дополнительные поля, но, очевидно, это не делает их функциональными.
Думаю, мне нужно расширить контроллер в app/assets/javascripts/discourse/app/controllers/create-account.js, не только чтобы перехватывать новые значения формы при отправке, но и для чего-то столь (казалось бы) простого, как использование названия сайта this.siteSettings.title в поле перевода client.en.yml! (Сейчас заголовки дополнительных полей в моей форме регистрации выглядят так: “Каково ваше отношение к [отсутствующее значение %{title}]?”, что, очевидно, недопустимо.)
Чем больше я пытался найти ответы, тем больше вопросов возникало, и они становились всё сложнее. Разные руководства, которые я пытался следовать, apparently были написаны для разных версий Discourse. В репозитории с примером плагина есть вещи, которые я не понимаю. В чем разница между клиентским маршрутом и серверным маршрутом? В чем разница между плагином и модулем? Я совсем потерялся.
Если кто-то сможет помочь, я буду очень благодарен. Заранее спасибо.
