2014-11-25 78 views
1

我有fancybox在我的開發環境中工作完美,但是當我推到Heroku製作時,它不起作用。我嘗試着看着這裏的所有幫助(預編譯資產等),嘗試了一切,但似乎無法讓它工作!希望有人能幫助我在這裏...rails,fancybox不能在heroku製作中工作

這裏是我的application.html.erb:

<html> 
<head> 
    <%= analytics_init if Rails.env.production? %> 

    <%= favicon_link_tag "/favicon.ico" %> 
    <link href='http://fonts.googleapis.com/css?family=Source+Code+Pro:200,300,400,500,600,700,900' rel='stylesheet' type='text/css'> 

    <!-- Add jQuery library --> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 

    <!-- WORLD MAP --> 
    <link href="/assets/jqvmap.css" media="screen" rel="stylesheet" type="text/css" /> 
    <script src="/assets/jquery.vmap.js" type="text/javascript"></script> 
    <script src="/assets/jquery.vmap.world.js" type="text/javascript"></script> 

    <!-- Add fancyBox --> 
    <link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" /> 
    <script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script> 

</head> 
<body> 
    <%= render "layouts/header" unless @disable_header %> 
    <%=yield %> 
</body> 
</html> 

我的application.js:

//= require rails_autocomplete 
//= require jquery 
//= require jquery_ujs 
//= require jquery.fancybox 
//= require jquery.turbolinks 
//= require turbolinks 
//= require bxslider 
//= require fancybox 
//= require_tree . 

var fancybox = function(){ 
    $('.fancybox').fancybox({ 
     parent: "body", 
     helpers: { 
      overlay: { 
       locked: false 
      } 
     } 
    });   
}; 
$(document).on("page:load ready", fancybox); 

如果有人認爲我做的不是,那將會很棒 - 或者至少可以指出我如何在Heroku Production中進行調試。提前致謝!

+0

嗨,如果你可以分享你的application.js文件,那麼它會更好地回答你的問題。 – 2014-11-25 06:01:12

+0

沒問題 - 編輯原始帖子。再次,我在開發過程中工作得很好,但Heroku Production不起作用。當我點擊Fancybox鏈接時,它會轉到另一個頁面,並顯示圖片。 – gitastic 2014-11-25 07:15:47

+0

看起來是因爲如果您將在生產模式下啓動應用程序,您的應用程序將在網頁上獲得一些js兩次,因爲您在application.html中定義了兩次,另一個是application.js,請使所有的唯一性檢查它們。 – 2014-11-25 07:37:12

回答

0

玩了一下之後,看起來像我必須將我的application.js文件中的整個腳本移動到視圖中。不知道爲什麼這會起作用 - 但如果有人知道這會影響生產,請讓每個人都知道!謝謝!