在 asset_pipeline 中包含来自 rails 应用之外的资产

Include assets from outside the rails app in asset_pipeline

我正在扩展现有的代码库,需要在我编写的代码和现有代码之间有明确的界限。我通过使用它得到了 html-files 的工作:

render :file => Rails.root.to_s.split('/')[0...-1].join('/')+'/my-extension/path/to/file/

(第一部分截取了真实的Rails.root,允许我使用和app同级别的文件夹)

现在我需要包含需要预编译的其他文件,例如SASS-CSS。我试图像这样将它们添加到资产管道中:

config.assets.precompile += [Rails.root.to_s.split('/')[0...-1].join('/')+'/my-extension/app/assets/stylesheets/*.css']

或具有特定文件名:

config.assets.precompile += [Rails.root.to_s.split('/')[0...-1].join('/')+'/my-extension/app/assets/stylesheets/overrides.css']

以上两种方法均未成功。我怎样才能做到这一点?

您能否尝试从 Rails 根目录创建一个软 link 到扩展资产目录并将其包含在资产路径中。


 $ cd your rails_project
 $ ln -s /path/to/extension/assets extension-assets

在配置中


  config.assets.paths << Rails.root.join("extension-assets")