2012-06-26 20 views
1

有沒有人遇到過這種情況?我有供應商的mustache.js 0.5.1。我的供應商文件是Rails提供的文件,以及我在瀏覽器中看到的文件。當我調用Mustache.to_html(0.4.0沒有Mustache.render,這是我發現這個問題的方法)時,函數不會執行。撥打Mustache.version返回'0.4.0-dev'。某個地方正在做某件壞事。mustache.js卡在我的導軌應用程序的0.4.0-dev中

  • vendor/assets/javascripts/mustache.js是0.5.1。
  • Mustache.version在Chrome控制檯中返回'0.4.0-dev'...所以有些東西會覆蓋Mustache原型。邪惡的東西。
  • 我們已經殺碼/ ruby​​monk/tmp目錄
  • 我們反彈的資產緩存
  • 我們設置資產進入調試模式
  • 我們切換到生產,預編譯的資產,並尋找揮之不去的垃圾
  • 我們似乎沒有在瀏覽器中加載鬍子的0.4.0版本 - 但我們的0.5.1代碼沒有執行(我們添加的console.log語句不運行,實際鬍鬚文件是從來沒有被調試器擊中的)
  • 我們已經完成了代碼/ ruby​​monk目錄中'mustache'和'0.4.0-dev'的完整grep .... nadda(除了你所期望的)
  • 我們已經看過整個硬盤(至少和Spotlight一樣......但它看起來做得不錯)
  • 我們已經將gem目錄'鬍子'和'0.4.0-dev'......再說一次,沒什麼。

如果我實際上做了錯事,我會在解決問題後發佈解決方案。

-s-

回答

1

已解決!我們的應用程序使用Intercom(http://intercom.io) - 這是另一個輝煌的 - 但它似乎我們下載的內部通訊Javascript是在全球命名空間吹走Mustache

我會給他們發一條消息,要求他們命名空間。與此同時,我想我們只需要修補我們自己的mustache.js副本,以不同的命名空間。這就是說,添加以下內容:

var MyApp = MyApp || {}; 

而且隨着MyApp.Mustache取代的Mustache occurances。

希望這可以幫助別人。如果沒有,至少我可以享受在StackOverflow海上航行的臨時小船。

-Steven

PS:我們發現了這一點,因爲我們試圖呈現在純JavaScript客戶端,這顯然是在鬍子0.4.0打破(它只會吐出我們{{ > mypartial }}通話鬍子諧音直接進入HTML,不渲染任何東西。

相關問題