Si solo necesita almacenar un único ID de Tema (como un valor configurable), la forma más sencilla nativa de Discourse es usar un SiteSetting.
Además, obtendrá automáticamente una interfaz de administración integrada.
config/settings.yml:
``yml
plugins:
my_plugin_enabled:
default: true
client: false
my_plugin_topic_id:
default: 0
client: false
type: topic # proporciona un selector de temas en la interfaz de administración
``
En su código de complemento Ruby:
rb topic_id = SiteSetting.my_plugin_topic_id topic = Topic.find_by(id: topic_id)
Si prefiere almacenarlo programáticamente (no expuesto como una configuración),
PluginStore también es adecuado para una única clave-valor:
``rb
store = PluginStore.new(“my_plugin”)
store.set(“topic_id”, some_topic_id)
topic_id = store.get(“topic_id”)
``