2011-11-22 33 views
2

我有一個相似的問題之一this question列舉,但我不使用ckeditor寶石。我直接使用CKEditor腳本。的Rails 3.1.2 CKEditor的供應商腳本

我已經提取他們直接進入vendor/assets/javascripts/ckeditor,並添加這些包括節到合適的JavaScript manifest文件:

//= require ckeditor/ckeditor 
//= require ckeditor/adapters/jquery 

在發展,它運行完美 - 我認爲由於Rails是直接服務於資產。在生產中(當我在我的本地開發服務器切換到生產環境),編輯器不會加載(只是空白空間,如上面鏈接的問題),我得到這樣的加載錯誤:

Load errors

那些路徑顯然是錯誤的,即使在開發中,我也不確定它是如何工作的,現在我想到了它。

有沒有人獲得這樣的設置才能正常工作,或者我應該吸吮它,只需要使用像其他人一樣,似乎寶石?

回答

4

修修補補的幾個小時之後,我想通了,我的問題是雙重的。

首先,是您可以設置來告訴它的基礎安裝位置路徑駐留在CKEditor的全局選項。要設置,我改變了我的application.js添加這兩條線:

//= require_self 
CKEDITOR_BASEPATH = "/assets/ckeditor/"; 

其次,我的環境配置未設置爲預編譯夫婦CKEditor的文件。因此,在config/environments/production.rb,我加ckeditor/config.jsckeditor/contents.css向我傳遞給config.assets.precompile文件的陣列。

編輯:我有幾個更多的文件添加到的不僅僅是這裏列出的預編譯列表。綜合列表會有誤導性,因爲大多數文件都來自自定義主題。加載Chrome Inspector或Firebug非常簡單,並查看仍然返回404的資產列表,將它們添加到數組中,重新編譯,然後查看是否修復了它。