2011-10-03 3 views
1

ckeditor를 양식에 포함하려고하는데 그냥 비워 둡니다. 텍스트 영역은 html 편집기 창을 찾을 빈 공간입니다. "설명"필드를 html 텍스트로 지정하려는 모델이 있습니다. 나는 그것을 편집하기 위해 ckeditor를 사용하는 것이 편리하다고 생각했습니다. 텍스트 필드 편집기가 표시되지 않는 이유는 해결할 수 없습니다.CKEditor 텍스트 영역이 레일 3.1 앱에서 비어 있습니다.

레일 3.1 앱이 있는데 ckeditor gem (버전 3.6.2)을 사용하고 있습니다. 나는 ckeditor를 다운로드하여 그것을 나의 assets/javascripts 폴더에 넣었다. 이 같은

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

이 생성 HTML : :이 같은 일부 코드를 내보기에서

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

:

내 application.html.erb 파일에서

나는이 라인을 가지고

<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 폴더를 이동하여 public/javascripts에 넣습니다. 이것은 내 문제를 해결하지 못했습니다. 텍스트 영역은 더 이상 비어 있지 않지만 HTML 편집기가 아닌 일반 텍스트 영역이었습니다. 그런 다음 ckeditor를 두 곳 모두에 넣어 보았습니다. 갑자기 모든 것이 작동하는 것 같았습니다. 난 레일 3.1.1 에서이 문제에 대한 적절한 수정을 기대합니다! –

+0

비 보석 버전의 CKEditor를 사용하고 포함 된 jquery 코드를 사용하여 텍스트 영역에 편집기 인스턴스를 첨부 할 수 있습니다 (CSS 클래스 사용). 나는이 접근법이 조금 더 단순하고 최신 CKEditor 코드 수정을 따라갈 수 있다고 생각합니다. 저는 GEM이 3.1과 아직 호환되지 않는다고 생각합니다. –