【问题标题】:Using Google CDN with the sprockets assets compiler将 Google CDN 与 sprockets 资产编译器一起使用
【发布时间】:2012-01-20 15:51:13
【问题描述】:

这似乎很琐碎,但在论坛或 Rails 资产管道指南中找不到。

总之

如何通知 sprocket 跳过“jquery-rails”gem 的 jquery ui css 的资产管道。

长篇:

我正在尝试将“jquery-rails”gem 与 Google jquery CDN 一起使用。

因此在我只包含 jquery_ujs 并在应用程序布局中添加 jquery 相关脚本:

application.js.erb:

//= require bootstrap-twipsy.js
//= require jquery-glowing
//= require jquery_ujs

application.html.erb:

= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jqueryui.min.js"

对于 css',我没有在 application.css 中包含 jquery-ui css 并将其添加到布局文件中。

application.css.scss.erb:

 *= require_directory .
 *= require active_scaffold
 *= require_self

在生产环境中,编译后的 css 文件也包含 jquery-css 代码,因为它位于“jquery-rails”gem 的资产管道中。

那么我如何通知 sprocket 跳过“jquery-rails”gem 的 jquery ui css 的资产管道。


如果这在 Rails 中是不可能的,那么处理这种情况的最佳方法是什么。

我曾考虑删除 jquery-rails gem,并手动将 jquery_ujs javascript 添加到系统中,但随后我必须处理新版本的安装,而不是执行简单的“捆绑更新”

提前致谢,

【问题讨论】:

    标签: ruby-on-rails-3 asset-pipeline sprockets


    【解决方案1】:

    问题出在 active_scaffold gem 中,right here 如果您想要代码参考。它包括 jquery-ui CSS。

    要删除它,您需要在 app/assets/stylsheets 文件夹中复制整个活动的脚手架 css 代码(如 my_active_scaffold),删除指向 jquery-ui 的链接。我假设文件末尾的 ActiveScaffold erb 仍将在此上下文中运行。

    然后只包含它:

     *= require my_active_scaffold
    

    【讨论】:

    • 我相信您对主动式脚手架的看法是正确的。实际上,我通过向公共文件夹添加空白版本来使用 hack 来覆盖活动的脚手架资产。但它似乎不适用于 sprockets 资产编译器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多