2013-05-27 62 views
3

我想通過Gmaps4Rails gem將地圖放入我的Rails應用程序(我正在使用Rails 3.2.11和資產管道)。繼https://github.com/apneadiving/該寶石的安裝說明,我有gmaps4rails:未捕獲ReferenceError:Gmaps未定義

  • 通過gem gmaps4rails
  • 包含在Gemfile中的寶石使用由創業板rails generate gmaps4rails:install提供發電機複製的資產,以我的Rails應用程序。完成後,在app\assets\stylesheets文件夾中有gmaps4rails.css,在àpp\ assets \ javascripts \ gmaps4rails`文件夾中有5個咖啡文本
  • 通過<%= yield :scripts %>包括Javascript。附帶問題:是否足以把這個順便說一句。關閉正文和關閉html標籤,還是應該有一個頁腳標籤用於Javascript的地方?

    ... 
        </body> 
        <%= yield :scripts %> 
    </html> 
    

型號,遷移等,都建立並應工作。 最後,在視圖中,我打電話給<%= gmaps4rails(@json) %>

不幸的是,我收到的JavaScript錯誤Uncaught ReferenceError: Gmaps is not defined。下面的截圖顯示Chrome瀏覽器如何報告在gmaps4rails的Javascript錯誤:

Chrome reporting a JavaScript error on gmaps4rails

結果是地圖不與任何concent呈現;只有地圖的CSS包裝,但沒有任何內容。

我無法解決這個問題,所以我需要您的支持。

我嘗試了,到目前爲止發現:

  • 兩個的Javascript從谷歌發生錯誤似乎動態加載和最新的JavaScript加載後腳本之前。我已經從源代碼直接下載了JavaScript,並將其構建到本地文件中,並將其包含到資產管道中,但是這並未解決問題。
  • 我假設Gmaps(不能被引用)已在前面加載的庫JavaScript中重命名。然而,由於我不知道這是如何詳細工作的,我不能在這裏跟進並檢查它。

回答

1

我發現我錯過了將gmaps4rails Javascript正確添加到資產管道。

添加任何

//= require_tree . 

//= require gmaps4rails/gmaps4rails.bing 
    //= require gmaps4rails/gmaps4rails.googlemaps 
    //= require gmaps4rails/gmaps4rails.mapquest 
    //= require gmaps4rails/gmaps4rails.openlayers 
    //= require gmaps4rails/gmaps4rails.base 

到application.js中會解決這個問題。

但是,因爲它似乎我已經忘記了添加

//= require_tree . 

完全,我將它就像最後的包括我的application.js。

相關問題