Rails 3.1.3 - 从供应商/资产/样式表中的子文件夹加载资产

发布于 2024-12-22 12:11:23 字数 385 浏览 1 评论 0原文

我想从 app/vendor/assets/stylesheets/twitter 加载外部样式表...但 Sprockets 一直抱怨找不到该文件。我的 app/assets/stylesheets/application.css 看起来像这样:

/*
*= require_self
*= require bootstrap
*= require sass_main
*/

我尝试将子目录添加到资产路径中,如下所示:

config.assets.paths << "#{Rails.root}/app/vendor/assets/stylesheets/twitter"

...但没有运气。我该怎么办?

I want to load an external stylesheet from app/vendor/assets/stylesheets/twitter... but Sprockets keeps complaining that the file can't be found. My app/assets/stylesheets/application.css looks like this:

/*
*= require_self
*= require bootstrap
*= require sass_main
*/

I tried adding the subdirectory to the asset path like this:

config.assets.paths << "#{Rails.root}/app/vendor/assets/stylesheets/twitter"

...but no luck. What I gotta do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

李白 2024-12-29 12:11:23

尝试:

/*
*= require_self
*= require bootstrap
*= require sass_main
*= require_directory ./twitter
*/

Try:

/*
*= require_self
*= require bootstrap
*= require sass_main
*= require_directory ./twitter
*/
帝王念 2024-12-29 12:11:23

如果 require_directory ./twitter 成功了,那么我相信问题出在您的资产路径中的拼写错误:

您确定您在 app/ 下有 /vendor dir ?通常它位于 Rails.root 中,因此您一开始将其添加到 config.assets.paths 中是正确的,但您应该省略 /app< /code> 之间像这样:

config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets/twitter"

If require_directory ./twitter did the trick then I believe the problem was in typo in your asset path:

Are you sure you were having /vendor dir under app/? Usually this sits in Rails.root so you were correct at the beginning by adding it to config.assets.paths but you should have left out the /app in between like this:

config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets/twitter"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文