您好,
我正在尝试按照此页面开发 Discourse 插件:https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515,并且我已经将 plugins 文件夹上传到了服务器。之后,我无法访问 Discourse 的管理页面。
当我在浏览器控制台中查看时,我看到了以下错误:
错误:没有名为 admin 的路由
我在 SSH 中检查了我的用户的角色,它具有管理员权限。我也尝试从 Discourse 中删除 plugins 文件夹,但仍然遇到相同的问题。
有人能帮我解决这个问题吗?
提前感谢!
pfaffman
(Jay Pfaffman)
2
您是想在开发环境还是生产环境中成为管理员?
如果是生产环境,您可以:
cd /var/discourse
./launcher enter app
rake admin:create
对于开发环境,您应该能够从 discourse 目录运行 ./bin/rake admin:create。
在服务器操作系统和 Discourse 中拥有管理员/root 权限是两件完全不同的事情。
我尝试使用此命令 ./launcher enter app 更改访问权限,但对我不起作用。
哦,我的意思是,我在 Discourse 中拥有管理员访问权限。
Lhc_fl
(Linca)
4
您的意思是直接在服务器上上传了插件?
Discourse 必须先编译插件的 JavaScript 资源。您应该将插件上传到 GitHub 存储库,在 app.yml 中添加它,然后运行 ./launcher rebuild app。
直接将插件上传到 plugins 文件夹而不进行编译会导致 Discourse 前端找不到编译后的文件并引发错误。
另外,如果您的服务器启用了 Cloudflare,请记住关闭自动缩小功能并清除缓存。
3 个赞
您好 @Lhc_fl
非常感谢您的帮助。通过关闭 Cloudflare 的自动最小化功能,我成功解决了问题。
由于我是 Discourse 新手,不太了解如何使用插件。我曾尝试将插件添加到 plugins 文件夹,但您建议的方法(将插件上传到 GitHub 并从 GitHub 存储库获取)对我来说更有效。
我可以再问您一件事吗?您能指导我如何为主题(topic)添加自定义字段或任何附加字段吗?实际上,我想创建一个增强主题功能的插件。我想为主题添加自定义字段,将其数据存储在数据库中,并在主题详情页面上进行渲染。
再次感谢!
pfaffman
(Jay Pfaffman)
6
你应该为此开启一个新主题,而且这个问题本身过于宽泛,无法给出真正答案,但你应该看看 Developing Discourse Plugins - Part 1 - Create a basic plugin 以及其余部分。你需要搜索有关创建 topic_custom_fields 并将其添加到序列化器(serializer)的内容。请参阅 GitHub - discourse/all-the-plugins 来获取所有插件,然后你可以在其中搜索示例。
你可能需要多说一些关于你正在做什么需要自定义字段的事情,因为可能还有其他方法可以完成这项任务,而无需自定义字段和插件。
system
(system)
关闭
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.