指纹插件中的路由冲突

继续 Discourse Fingerprint - Browser Fingerprinting Plugin 中的讨论:

这是由于路由冲突导致的。

核心定义了

admin_plugins GET /admin/plugins/:plugin_id(.:format) admin/plugin#show {format: /(json|html|\*\/\*)/}

该插件定义了以下内容

admin_plugins_fingerprint GET  /admin/plugins/fingerprint(.:format) discourse_fingerprint/fingerprint_admin#index

我们并没有获取到 fingerprint_admin#index 的结果,而是获取到了 admin/plugin#show 控制器的结果,即插件元数据。

此插件中还存在一些其他问题,例如路由格式弃用问题:

以及 plugin.rb 元数据中指向该插件旧 URL 的问题 # url: https://github.com/udan11/discourse-fingerprint.git

2 个赞

理查德·理查德才是真男人,要是他搞不定,那就没人能搞定了!耶!所以,那些烦人的错误不会再出现了吗?

1 个赞

PR 在这里 Resolve route conflict and small fixes - Pull Request #95 - discourse/discourse-fingerprint - GitHub