我正在尝试创建一个 rails 引擎,它将使用我添加到引擎中的 gem 依赖项中的 javascript。但是,当我在 application.js 中为我的引擎添加以下行时,我不断收到“找不到文件 'fullcalendar'”:
//= require fullcalendar
此行正在将 gem 依赖项中的 javascript 加载到 rails 引擎中。
当 gem 安装在普通的 rails 应用程序(而不是引擎)上时,同一行将起作用。我在这里想念什么?引擎可以从另一个引擎/gem 加载 javascript 吗?
更新: 我自己研究的问题可能是 sprockets 只在引擎内寻找 javascript。gem 依赖项安装到父应用程序的供应商/缓存中,而不是引擎因此 //require fullcalendar 失败,因为它正在引擎中查找,并且用于 fullcalendar 的 javascript 在父应用程序中。
让我感到困惑的是,如果我在父应用程序 gemfile 中明确包含 fullcalendar,那么我就无法在引擎中访问它。这对我来说没有意义。在这两种情况下,完整的日历 gems javascript 都在父应用程序中,但行为不同。在两个地方包含宝石对我来说没有吸引力,而且似乎不是一个合适的解决方案。有什么想法吗?