Rails 3.1 Integration for TinyMCE

The tinymce-rails gem integrates the TinyMCE editor with the Rails 3.1 asset pipeline.

Instructions

1. Add tinymce-rails to your Gemfile

gem 'tinymce-rails'

Then run bundle install.

2a. Use TinyMCE with the jQuery extension

Add to your application.js:

//= require tinymce-jquery

and use TinyMCE in your view:

<%= text_area_tag :editor, "", :rows => 40, :cols => 120 %>

<script type="text/javascript">
  $(function() {
    $('textarea').tinymce({
      theme: 'advanced'
    });
  });
</script>

2b. Use TinyMCE without jQuery

Add to your application.js:

//= require tinymce

Use TinyMCE in your view:

<%= text_area_tag :editor, "", :rows => 40, :cols => 120 %>

<script type="text/javascript">
  tinyMCE.init({
    mode: 'textareas',
    theme: 'advanced'
  });
</script>

Custom Plugins & Skins

To use custom plugins or skins, simply add the files to your asset load path so that they are locatable at a path beneath tinymce/plugins/ or tinymce/themes/advanced/skins/.

For example, a plugin called mycustomplugin could have its main JS file at app/assets/javascripts/tinymce/plugins/mycustomplugin/editor_plugin.js.

Any files with a path beginning with tinymce/ will be automatically precompiled, and the digestion gem is used to ensure that these files never have an asset digest appended to their filenames, even in production mode.

Updating

When new versions of TinyMCE are released, simply update the tinymce-rails gem to the latest version. There is no need to run any extra rake tasks (apart from rake assets:precompile).