如何在Rails资产管道中使用我的Jquery插件?

时间:2013-03-06 20:06:30

标签: javascript ruby-on-rails jquery-plugins ruby-on-rails-3.2 asset-pipeline

我的公司介绍了一种使用社交分享按钮的方法,而不会在页面加载时向社交网站提供跟踪数据:jquery.socialshareprivacy

如何在Rails 3.2资产管道中使用它?

1 个答案:

答案 0 :(得分:0)

该插件由一个JS文件和一个包含css和图像的目录组成。

Rails 3.2附带jQuery 1.9.x而jquery.socialshareprivacy.js使用的函数已在1.9(.live $.browser)中删除,因此您必须对其进行修补(在first gist处获取补丁)使用资产管道需要为图像使用不同的文件路径,因此我修补了CSS(请参阅second gist)并将其转换为SCSS(将.scss附加到文件名)。
我基本上将url()变为image-url()

我把JS放在vendor/assets/javascripts和整个CSS + images文件夹(socialshareprivacy)下vendor/assets/stylesheets

当我在页面上放置共享按钮时(请参阅this documentation),我在选项中设置了图片网址:

<div id="socialshareprivacy"></div>
<script type="text/javascript">
    $(function(){
        $('#socialshareprivacy').socialSharePrivacy({
            'css_path': '<%= asset_path 'socialshareprivacy/socialshareprivacy.css' %>',
            services: {
                facebook: {dummy_img: '<%= asset_path 'socialshareprivacy/images/dummy_facebook.png' %>'},
                twitter: {dummy_img: '<%= asset_path 'socialshareprivacy/images/dummy_twitter.png' %>'},
                gplus: {dummy_img: '<%= asset_path 'socialshareprivacy/images/dummy_gplus.png' %>'}
            }
        });
    });
</script>

如果您需要在多个地方使用,请考虑将其变为部分。