You may not need to allow direct HTML editing if you use something like Markdown or Textile - users will always work with a textual representation of the content, while a one-time one-time conversion to one-sided text in html will be available for more pleasant HTML views -pages.
There are a number of Ruby Gems to help you implement Markdown and Textile plain-text-to-html conversions, if necessary. There are also some good markdown editors (like the one that uses SO).
In my opinion, text editing (in Markdown, Textile or similar) is a good and better choice in most cases. This is definitely a very easy and standardized method for creating rich content, although Markdown, Textile, etc. They do not cover all possible formatting options; the simple text path deserves serious consideration.
You can also see here at StackOverflow that Markdown uses for questions and answers that it is worthy. I strongly support the need to see "formatting tags" because WYSIWYG almost always leads to erroneous / unnecessary tags. In addition, the use of text formats allows you to have 100% control over the resulting HTML .
If you should use WYSIWYG, my experience with TinyMCE was decent enough to recommend it.
source share