cd /var/discourse
./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb
Nano не был установлен, поэтому я установил его и отредактировал файл comments.html.erb, заменив строки, упомянутые в указанной теме.
Затем я вышел из лаунчера и выполнил:
./launcher rebuild app
После пересборки ничего не изменилось — в встраиваемых комментариях по-прежнему отображаются имена пользователей вместо полных имен.
Я запускаю эту команду, и сборка проходит без ошибок:
./launcher enter app
Но я не вижу ожидаемых изменений во встраиваемых элементах. Я добавил несколько пользовательских классов CSS и заменил <%= post.user.username %> на <%= post.user.name %>. Буду признателен за дополнительные подсказки, как правильно настроить это. Не думаю, что переопределить файл шаблона плагина из другого плагина — это слишком сложно.
То, что мне удалось сделать, — это войти в приложение и вручную скопировать версию шаблона из моего плагина в /var/www/discourse/app/views/embed/, затем перезапустить приложение, и я вижу ожидаемые результаты.
Мне нужно, чтобы это происходило автоматически при загрузке плагина, и именно здесь я застрял.
@Canapin Да! Всё заработало. Вот как в итоге выглядит файл plugin.rb. Оказалось, у меня была просто проблема с путём: я указывал кастомную версию файла.
В итоге я поместил его в папку /custom_views/embed/comments.html.erb
# frozen_string_literal: true
# name: optuma_discourse_custom_embed
# about: Простой плагин для кастомизации шаблона во встраиваемых элементах форума
# version: 1.0.0
# authors: Optuma Pty Ltd
# url: https://github.com/OptDev/optuma-discourse-custom-embed
# required_version: 2.7.0
after_initialize do
::EmbedController.prepend_view_path File.expand_path("../custom_views", __FILE__)
end