如何访问 Ruby REPL?

我记得几年前可以进入容器并启动一个 Ruby REPL,在那里我可以交互式地使用 Discourse 的 ORM 对象等。我现在正在调试一个问题,想要检查某个主题中的帖子,但通过 Google 搜索再也找不到关于这个 REPL 的任何证据了!

这仍然可行吗?

谢谢!

1 个赞
cd /var/discourse
./launcher enter app
rails c
3 个赞

谢谢——这听起来并不熟悉,但似乎确实有效!我的下一个问题是:这个 API 的文档在哪里?我相信这大致就是插件所使用的 API,对吗?例如,我需要编辑一篇文章。

再次感谢!

这其实不是一个 API,而是标准的 Rails 控制台。它在加载了 Discourse Rails 应用的环境中以 REPL 模式运行 Ruby 代码。因此,例如你可以使用 ActiveRecord API:

p = Post.last
puts p.raw
4 个赞

谢谢,我能够编辑帖子的原始内容并调用 p.save 来绕过我们的问题。非常感谢!

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.