添加官方插件时出现 ActionController::Routing Error

你好!

我正在 Ubuntu(开发环境)上运行 2.9.0.beta11,并收到有关以下插件的错误。没有它们时,一切都运行正常。我需要怎么做才能让这些插件正常工作?

ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-adplugin.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-canned-replies.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-cakeday.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-checklist.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-solved.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-spoiler-alert.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/docker_manager.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call' 

我也在开发中处理一个非常类似的问题。

你找到解决方案了吗?

看起来由于某种原因,这段代码没有执行,或者文件最终被放到了错误的位置。

反过来,这 看起来 像是 Ember CLI 没有成功构建。

然而,我却收到了“Build successful (70398ms) – Serving on http: …”的提示。

您是如何启动开发服务器的?您是在运行 bin/ember-cli 吗?

是的。不过这是一个非标准的开发安装,我正在另一个容器上运行 ember-cli,并与 rails 服务器共享一个卷(正在调查这是否是问题所在)。

我的主要问题是:你为什么这样做? :stuck_out_tongue:

需要检查的事项:

  • ember-cli 进程是否可以访问 plugins 目录?

  • 你的共享卷包含什么?整个 Discourse 目录?特别是,我在考虑 public/assetsapp/assets/javascripts/discourse/dist

  • 你的 HTTP 请求去向何处?Ember-cli 的代理?还是直接到 Rails 应用?(两者都可以,但知道你采用哪种方式可能有助于调试)

1 个赞

这是我当前的配置,但正在检查

它们去 Ember,它正在代理到 Rails 端口。

别问 :sweat_smile: (不过是为了调试管道的教育性内容!)。

可以检查的有用途径。我只是好奇 OP 进展如何。

我将报告我的发现,以造福其他进行疯狂配置的人。

更新

哎呀,我认为我在这里搞砸了!!

我忘记将其他插件添加到两个容器中……

1 个赞

@david 问题就在这儿。我添加了许多“本地”卷插件映射,却忘了将它们全部添加到两个容器中 :man_facepalming:

所以它可能拥有所有漂亮的 Ruby on Rails,但却没有 JavaScript…

现在可以正常工作了 :beers:

@hyphalos 如果你还在挣扎,请告诉我们,我们或许能帮上忙…

1 个赞