【问题标题】:jQuery Plugins and Rails Asset PipelinejQuery 插件和 Rails 资产管道
【发布时间】:2011-11-03 23:06:29
【问题描述】:

我正在使用一个名为 Fancy Gallery 的 jQuery 插件,它经常从插件文件夹中的图像文件夹中调用图像,例如 background:url("../images/fancygallery/arrows_sprite.png")。我的问题有 2 个部分

  1. 这个插件应该如何与我的 rails 3.1 应用程序集成?该文件夹是否应该放在 vendor/assets 文件夹中?该插件有3个文件夹,css、images、js。如果我将这些放在vendor/assets/stylesheetsvendor/assets/imagesvendor/assets/javascripts 中,css 肯定无法在../images 文件夹中找到图像,因为在资产流水线完成后它将不再存在。那么这个应该放在哪里呢?

  2. 有没有一种简单的方法可以让我不必进入我的插件并在加载图像的任何地方编辑 css?我不想每次更新插件时都这样做,必须有一种方法可以直接删除插件文件夹并让它工作。

进一步测试

这是我遇到的问题。例如,在 CSS 中,这里有一个加载箭头 background: url('../images/fancygallery/arrows_sprite.png') 的部分。在整个插件中,所有图像都以../images 表示。因此,在页面加载时加载插件时,它会以这种方式查找图像http://localhost:3000/images/fancygallery/arrows_sprite.png,但图像在那里不存在,它存在于assets/fancygallery/images 文件夹中。有什么办法可以让../images 看起来像http://localhost:3000/assets/fancygallery/images/ 而不是http://localhost:3000/images/?或者其他一些不需要我更改插件代码的解决方法,以便我以后可以轻松更新它。

部分问题是

插件 css 正在像这样加载到我的 application.css.SCSS 文件中

@import "fancygallery/css/uniform.aristo";
@import "fancygallery/css/jquery.fancygallery";
@import "fancygallery/css/prettyPhoto";

所以所有图像都与此相关。

【问题讨论】:

    标签: jquery ruby-on-rails jquery-plugins ruby-on-rails-3.1 asset-pipeline


    【解决方案1】:

    我可以通过添加一个fancygallery-plugin 文件夹然后将fancygallery 文件夹放在那里来解决这个问题。在asset:precompile 之后,fancygallery 文件夹在 assets 文件夹中可用。然后我直接调用 css 和 js 文件,而不是从 application.css.scss 文件中调用,如下所示:

    <%= stylesheet_link_tag    "fancygallery/css/uniform.agent.css" %>
    <%= stylesheet_link_tag    "fancygallery/css/jquery.fancygallery.css" %>
    <%= stylesheet_link_tag    "fancygallery/css/prettyPhoto.css" %>
    <%= javascript_include_tag "fancygallery/js/jquery.uniform.min.js" %>
    <%= javascript_include_tag "fancygallery/js/jquery.fancygallery.min.js" %>
    <%= javascript_include_tag "fancygallery/js/jquery.prettyPhoto.js" %>
    

    这使得图像引用按照插件开发者的预期工作,并且加载正常。

    【讨论】:

    • 你把“fancygallery-plugin”文件夹放在哪里了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多