gpt4 book ai didi

ruby-on-rails - 如何在 Rails 的供应商子文件夹中获取 Assets ?

转载 作者:数据小太阳 更新时间:2023-10-29 08:35:24 25 4
gpt4 key购买 nike

我需要在我的应用程序中安装一系列库,将它们保存在 /vendor/plugins/ 中各自的文件夹中

例如,ckeditor 库:

  • /vendor/plugins/ckeditor/中的主文件夹
  • js文件在/vendor/plugins/ckeditor/js/Chart.js
  • /vendor/plugins/ckeditor/css/chart.min.css 中的 css 文件

这样我就可以像这样导入到我的 application.scss 中:

*= require chart.min

在我的 application.js 中是这样的:

//= require Chart.js

当我尝试这样做时,rails 只访问文件夹 /vendor/assets/plugins/ plugins,生成错误:

could not find file 'chart.min' with type 'text/css'

如何让项目扫描供应商的所有子文件夹,直到找到我正在导入的文件?

最佳答案

首先将/vendor/plugins目录加入assets加载路径:

module MyApp
class Application < Rails::Application
config.assets.paths << Rails.root.join("vendor", "plugins")
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
end
end

然而,将目录添加到 Assets 加载路径并不意味着 Sprockets 将递归搜索所有子目录。将其配置为这样做也不是一个好主意。

您仍然需要提供来自 /vendor/plugins 的完整路径。

应用程序/ Assets /javascripts/application.js:

//= require ckeditor/js/Chart

app/assets/stylesheets/application.css:

*= require ckeditor/css/chart.min

或者您可以只使用 Rails integration gem并跳过所有的麻烦。

关于ruby-on-rails - 如何在 Rails 的供应商子文件夹中获取 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50689690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com