如果您只需要存储单个主题 ID(如可配置值),最简单的 Discourse 原生方法是使用 SiteSetting。
您还会自动获得一个内置的管理员界面。
config/settings.yml:
``yml
plugins:
my_plugin_enabled:
default: true
client: false
my_plugin_topic_id:
default: 0
client: false
type: topic # 在管理员界面中为您提供一个主题选择器
``
在您的 Ruby 插件代码中:
rb topic_id = SiteSetting.my_plugin_topic_id topic = Topic.find_by(id: topic_id)
如果您更喜欢以编程方式存储它(不作为设置公开),
PluginStore 对于单个键值对也是可以的:
``rb
store = PluginStore.new(“my_plugin”)
store.set(“topic_id”, some_topic_id)
topic_id = store.get(“topic_id”)
``