Ruby on rails 使用另一个gem';Rails引擎中的javascript

Ruby on rails 使用另一个gem';Rails引擎中的javascript,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,asset-pipeline,rails-engines,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Asset Pipeline,Rails Engines,我正在尝试创建一个rails引擎,它将使用我添加到引擎中的gem依赖项中的javascript。然而,当我在application.js中为我的引擎添加以下行时,我不断得到“找不到文件‘fullcalendar’”: //= require fullcalendar 这行代码将javascript从gem依赖项加载到rails引擎中 当gem安装在普通的rails应用程序(而不是引擎)上时,这一行也会起作用。我错过了什么?一个引擎可以从另一个引擎/gem加载javascript吗 更新: 我自

我正在尝试创建一个rails引擎,它将使用我添加到引擎中的gem依赖项中的javascript。然而,当我在application.js中为我的引擎添加以下行时,我不断得到“找不到文件‘fullcalendar’”:

//= require fullcalendar
这行代码将javascript从gem依赖项加载到rails引擎中

当gem安装在普通的rails应用程序(而不是引擎)上时,这一行也会起作用。我错过了什么?一个引擎可以从另一个引擎/gem加载javascript吗

更新: 我自己研究的问题可能是Sprocket只在引擎中查找javascript。gem依赖项安装到父应用程序的供应商/缓存中,而不是引擎中,因此//require fullcalendar失败,因为它正在引擎中查找,而fullcalendar的javascript在父应用程序中


让我困惑的是,如果我在父应用程序文件中显式地包含fullcalendar,那么我就可以在引擎中访问它。这对我来说毫无意义。在这两种情况下,完整的日历gems javascript都在父应用程序中,但行为不同。把宝石放在两个地方对我来说是不容易的,而且似乎不是一个合适的解决方案。有什么想法吗?

您使用的fullcanendar gem是否附带安装程序?一些gem附带用于模型迁移、资产、视图、配置文件等的安装程序

如果您指的是gem,它附带了一个安装程序,您必须使用

rails g fullcalendar:install
命令


如果gem没有安装程序,您可以通过运行
git clone gem\u github\u repository\u url\u here.git
将gem克隆到您的本地计算机,这将使您能够导航gem的文件夹,并且您可以直接访问gem使用的任何资产,这些资产可以复制到rails应用程序

我过去在这方面遇到过一些麻烦

App > Engine 1 > Engine 2
发动机1和发动机2在应用程序上工作正常。我在引擎1中创建了一个虚拟应用程序来测试引擎2的功能,效果也不错。但当我把引擎1放进应用程序时,它根本不工作

我最大的错误是在应用程序中只包括引擎1,引擎2也必须包括在内!
继承不适用于文件,只适用于依赖项

派对有点晚了,但我最近也遇到了同样的问题。这是我的帖子,描述它的解决方案。如果您没有让它工作,希望它能帮助您。

谢谢您的回复。我使用的gem是我所看到的没有安装程序的。我不想将gem中的资产复制到我的引擎中,因为这会破坏将gem用于javascript的整个目的。您是否将gem放在Gemfile的资产组中?引擎将包含除javascript之外的其他内容,我希望在生产中使用,因此我认为资产不是正确的位置。我试过了,但问题仍然存在。链接已修复链接再次断开。。。请把它修好。