2014-02-25 79 views
2

我的咖啡腳本包含對對象的鏈接調用,使用最新的編譯器時可以正確編譯(手動),但在編譯時無法正確編譯使用資產管道中的rails/coffee-script工具。如何獲得導軌/咖啡欄gem以使用最新的咖啡腳本編譯器

解決此問題的最佳方法是什麼?最好讓它使用最新的咖啡編譯器。

這裏是我的咖啡腳本的樣本,用鏈式調用

// coffeescript 
someObject 
    .chainedMethod 'home', { 
     paramA: 'a' 
     paramB: 'b' 
    } 
    .chainedMethod 'signin', { 
     paramA: 'xx' 
     paramB: 'yy' 
     controller: 'SignInController' 
    } 

當正確編譯,它看起來像:

// javascript 
someObject.chainedMethod('home', { 
    paramA: 'a', 
    paramB: 'b' 
}).chainedMethod('signin', { 
    paramA: 'xx', 
    paramB: 'yy', 
    controller: 'SignInController' 
}); 

的Rails 4.0資產管道產生如下:

// buggy javascript 
someObject.chainedMethod('home', { 
    paramA: 'a', 
    paramB: 'b' 
}.chainedMethod('signin', { 
    paramA: 'xx', 
    paramB: 'yy', 
    controller: 'SignInController' 
})); 
+0

我也在這裏打開了一個bug https://github.com/rails/coffee-rails/issues/54 –

回答

0

經過一番挖掘,我設法通過升級coffee-script-source gem來解決這個問題。事實證明,欄杆/咖啡欄寶石只是讓底層的咖啡腳本和咖啡腳本源寶石來做真正的工作。咖啡腳本源寶石保持與最新來源http://coffeescript.org/

保持同步運行bundle update coffee-script-source獲取最新和重新啓動rails服務器解決了問題。

下面是修復後的寶石版本。

coffee-script-source-1.7.0 
coffee-script-2.2.0 
coffee-rails-4.0.1