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

Posted

技术标签:

【中文标题】在asset_pipeline中包含来自rails应用程序之外的资产【英文标题】:Include assets from outside the rails app in asset_pipeline 【发布时间】:2015-10-10 15:49:07 【问题描述】:

我正在扩展现有代码库,需要在我编写的代码和现有代码之间明确划分。我通过使用它来处理 html 文件:

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

(真实Rails.root的第一部分剪辑,允许我使用与应用程序相同级别的文件夹)

现在我需要包含需要预编译的其他文件,例如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']

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

【问题讨论】:

【参考方案1】:

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

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

在配置中

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

【讨论】:

是的,这就是我刚刚做的事情;)虽然希望有一个更清洁的解决方案。

以上是关于在asset_pipeline中包含来自rails应用程序之外的资产的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Rails 的 JSON 响应中包含 cookie?

Rails 5/6:如何在 webpacker 中包含 JS 函数?

在 Rails 中包含带有帖子的评论

在 Rails 中使用 config.assets.precompile 在子目录中包含资产

如何在 Rails 6 项目中包含 jquery-ui?

如何在 Rails 3.1 中包含供应商 js