Ruby on rails 在rails可安装引擎中添加资源路径?

Ruby on rails 在rails可安装引擎中添加资源路径?,ruby-on-rails,rails-engines,Ruby On Rails,Rails Engines,如何将vendor/assets/javascripts/mymountableengine或vendor/assets/stylesheets/mymountableengine添加到我的可装载引擎的资产路径?我希望能够使用链轮从我可装载引擎的application.js/application.css文件中的这些文件夹中获取文件 轨道3.2.2 谢谢。原来它们已经加载了!只需将它们放在错误的目录中:engine/vendor/assets/javascripts/engine——将它们放在e

如何将
vendor/assets/javascripts/mymountableengine
vendor/assets/stylesheets/mymountableengine
添加到我的可装载引擎的资产路径?我希望能够使用链轮从我可装载引擎的application.js/application.css文件中的这些文件夹中获取文件

轨道3.2.2


谢谢。

原来它们已经加载了!只需将它们放在错误的目录中:
engine/vendor/assets/javascripts/engine
——将它们放在
engine/vendor/assets/javascripts
中就可以了。对于其他人,只需检查
Rails.application.config.assets.paths
即可查看加载了哪些路径,我相信引擎使用父链轮环境,因此要添加路径,只需使用
Rails.application.config.assets.paths即可:

module MyEngine
  class Engine < ::Rails::Engine

    config.assets.paths << File.expand_path("../../assets/stylesheets", __FILE__)
    config.assets.paths << File.expand_path("../../assets/javascripts", __FILE__)
    config.assets.precompile += %w( my_engine.css )

  end
end
模块MyEngine
类引擎<::Rails::引擎

默认情况下,会添加指向引擎资产的AIK路径。[这个答案]提供了关于这个主题的更多信息。您是否尝试在应用程序清单中要求引擎的资产?您的链接已断开=)。我确实可以访问app/assets中的资产,但我手动添加了供应商目录,并希望将其包含在路径中。我没有在我的应用程序清单中添加引擎的资产,我只是用
javascript\u include\u标记'engine/application.js'
-这很好,我在
app/assets
中获得了所有资产,然而,当我试图从
引擎/application.js
中的
供应商/assets
获取文件时,我得到一个错误,即该文件不存在。啊,对不起,我的意思是。谢谢,但这不是我真正想要的,我需要在
应用程序.js/application.css
中的
引擎/vendor/assets/
中获取文件。如果我放入
/=require fileinvendorassets
我会得到一个错误,该文件不存在(因为引擎/供应商不在加载路径中),这让我抓狂并运行
rails控制台
,然后
放入rails.application.config.assets.path.join“\n”
帮助我发现默认供应商文件夹没有包含在我的文件夹中。谢谢注意:一定要使用Yes,我们应该向数组中添加元素,而不是替换它,使用with
precompile
就可以了。