2011-10-03 75 views
1

我試圖將ckeditor嵌入到表單中,它只是空白。文本區域只是一個空的空間,我希望找到一個html編輯器窗口。我有一個模型,我希望「描述」字段是HTML文本。我認爲使用ckeditor編輯它會很方便。我無法弄清楚爲什麼文本字段編輯器沒有顯示。CKEditor文本區域在rails 3.1中爲空應用

我有一個rails 3.1應用程序,我使用ckeditor gem(版本3.6.2)。我已經下載ckeditor並將其放入我的assets/javascripts文件夾中。

在我application.html.erb文件我有這樣一行:

<%= javascript_include_tag "ckeditor/ckeditor.js" %> 

在我看來,我有一些像這樣的代碼:

<%= form_for(@k) do |f| %> 
<%= f.cktext_area :description, :toolbar => 'Full', :width => 800, :height => 400 %> 

此生成HTML這樣的:

<textarea id="k_description" rows="20" name="k[description]" cols="40" style="visibility: hidden;"></textarea> 
<script type="text/javascript"> 
//<![CDATA[ 
if (CKEDITOR.instances['k_description']) {CKEDITOR.remove(CKEDITOR.instances['k_description']);}CKEDITOR.replace('k_description', { height: 400,language: 'en',toolbar: 'Full',width: 800 }); 
//]]> 
</script> 

這一切看起來應該工作,但它沒有。我錯過了什麼?

+0

嘗試刪除:工具欄選項。它似乎不是用戶友好的。我發現你必須將選項用雙括號括起來進行定製,如'f.cktext_area:description,:ckeditor => {toolbar:[['Bold']]'。 – Chloe

回答

0

由於CKeditor鏈接其依賴的方式,您必須將其移動到公用文件夾。 Rails 3.1.1中有一個助手選項,我相信這個選項可以解決這個問題。 (:digest => false)。

+0

我將ckeditor文件夾移出assets/javascripts並放在public/javascripts中。這並沒有解決我的問題。文本區域不再是空白的,但它只是一個普通的文本區域,而不是一個HTML編輯器。然後我試着把ckeditor放在兩個地方,然後突然間一切似乎都奏效了。我期待在rails 3.1.1中解決這個問題! –

+0

我會看看使用CKEditor的非寶石版本,並使用包含的jQuery代碼將編輯器實例附加到文本區域(通過css類)。我認爲這種方法更簡單一些,可以讓你跟上最新的CKEditor代碼修復。我認爲創業板不兼容3.1。 –