Find file
Fetching contributors…
Cannot retrieve contributors at this time
119 lines (66 sloc) 3.73 KB
Fckeditor: Version 0.4.3
Scott Rutherford
Credits to:
"Integrate FCKEditor with your Ruby on Rails application" - By Joshua M Charles
"Implementation details for FCKEditor integration with Ruby on Rails" -
"FCKEditor On Rails" -
And for the spell checker, which Ken Pratt created a patch for:
Ken Pratt:
Hongli Lai: For numerous patches and some nice tiding and the upgrade to 2.4.3
David Jones: and for the update_fckeditor rake task
Nicola Piccinini: for various bits and pieces
This plugin installs the FCKeditor editor into your rails app, along with some helpers to use in your views.
If you got this using:
ruby script/plugin install svn://
Then the install should of copied all the appropriate files to their homes. If you download a tar then you can either do
rake fckeditor:install
from the root of your app, or the file will be installed the first time you startup after untaring the plugin.
Basically the whole of the FCKeditor suite is copied to: public/javascripts/fckeditor
There is a separate config file copied to: public/javascripts/fckcustom.js, that you can use to customize the install. This file is never overriden by upgrades or reinstalls
If you are hosting your rails app in a subdirectory you need to open:
and modify the FCKRelativePath = ''; to suite your needs.
For example if I have an app at
then the line should read:
FCKRelativePath = '/app';
Basically include this in the page you wish to use the editor in
<%= javascript_include_tag :fckeditor %>
Then instead of the normal textarea helper from Rails use this one
<%= fckeditor_textarea("object", "field", :toolbarSet => 'Simple', :width => '100%', :height => '200px') %>
Thats it unless you are using AJAX
To use a remote form you need to do something like this
<%= form_remote_tag :url => @options.merge(:controller => @scaffold_controller),
:before => fckeditor_before_js('note', 'text') %>
<%= fckeditor_textarea( "note", "text", :ajax => true ) %>
<%= end_form_tag %>
If you forget to put in the :before it won't work, you can also use the fckeditor_form_remote_tag described below
Multiple Editors in a form
To create a form using multiple editors use the fckeditor_form_remote_tag helper and pass the :editors option. This takes an hash of model symbol keys with each having
an array as its value. The array should contain the list of fields that will have editors attached to them.
<%= fckeditor_form_remote_tag :url => @options.merge(:controller => @scaffold_controller),
:editors => { :multinote => ['text1', 'text2'] } %>
<%= fckeditor_textarea( "multinote", "text1", :ajax => true ) %>
<%= fckeditor_textarea( "multinote", "text2", :ajax => true ) %>
<%= end_form_tag %>
There is also a fckeditor_remote_form_for version.
Spell Check
Basically ensure you have aspell installed and available in your path. If running on Windows then the expected install path is:
'c:\program files\aspell\bin\aspell'
If you install elsewhere then you will need to update spell_check.rb in the plugin to mirror your path. Also make sure you have this line in your fckcustom.js file:
FCKConfig.SpellChecker = 'SpellerPages';