WYSIWYG编辑器是否有一个好的红宝石宝石可以轻松使用rails应用程序?
答案 0 :(得分:24)
虽然它肯定不是一个直接的答案,但在过去我发现我更喜欢使用RedCloth(如果你不喜欢Textile,则使用Markdown解析器)并使用带有AJAXy预览的简单textarea。一般来说,WYSIWYG编辑器在创建冗余标签和类似标签方面有着悠久的历史,导致可能破碎的HTML片段。
答案 1 :(得分:9)
虽然我知道这已经回答了我想添加关于纺织品的使用...我完全同意,但我建议在before_save
过滤器中处理它。假设您有一个名为“details
”的数据库字段 - 只需添加一个名为“details_html
”的字段。然后做这样的事......
before_save :convert_details
def convert_details
return if self.details.nil?
self.details_html = RedCloth.new(self.details).to_html
end
RedCloth可以获得一点点过程,如果你经常在每个渲染上处理这些东西,你会遇到一些内存问题......这只会帮助你减少一些所需的资源。
答案 2 :(得分:9)
答案 3 :(得分:6)
我不确定Ruby Gem,但是TinyMCE是一个可定制的,通常稳定的WYSIWYG编辑器,它可以很容易地与任何项目集成。我已经多次使用它了。
答案 4 :(得分:6)
类似的问题:What is the best WYSIWYG for Rails - Ruby on Rails Blog
我也在这里粘贴了同样的解决方案。
我强烈建议你试试WYSIHAT。上面提到的编辑器最大的问题是其庞大的尺寸和“难以定制”(能力)。大多数这些编辑器中的错误代码是一个很大的转折点。 WYSIHAT更像是WYSIWYG编辑器的框架。非常容易定制。易于配置。还有更多..它由37signals支持。我对TinyMCE的看法是它从单词功能粘贴,保留了布局。但如果不是因为那个功能我发现其余部分真的很笨重。
使用WYSIHAT的教程:第1部分:http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/
第2部分:http://jrmehle.com/2009/02/13/wysiwhat-wysihat-part-2/
为了让您的生活更轻松,Jeff Kreeftmeijer(80beans.com)为37signals WYSIHAT编辑开发了一款非常棒的轨道引擎:http://github.com/80beans/wysihat-engine
还有Jeff Kreeftmeijer的一篇文章:http://www.80beans.com/2009/10/01/wysihat-engine/
答案 5 :(得分:4)
我使用FCKEditorOnRails插件:http://github.com/UnderpantsGnome/fckeditor_on_rails/tree/master
请注意,如果您遇到旧版本的错误,通常可以在没有太多调整的情况下放入最新版本的FCKEditor。
答案 6 :(得分:3)
看看http://livepipe.net/control/textarea 对于带有所选答案中提到的AJAXY预览的WYSIWYG降价编辑器。
答案 7 :(得分:2)
有一个插件可以将TinyMCE与rails配合使用,有关rails wiki的大量信息。
答案 8 :(得分:1)
+1 - 有一个很棒的Rails插件,包含帮助器。然而,它通常是矫枉过正,因为它具有一切功能。在许多情况下,更简单的东西,如jQuery的WYSIWYG编辑器,非常适合包装文本区域输入。
答案 9 :(得分:0)
我真的很喜欢CKeditor的宝石。它比TinyMCE更优雅,特别是如果你处理原始HTML。 CKeditor显示在页面上--TinyMCE提供弹出窗口。 CKeditor也可以直接访问所有标题之类的内容。 TinyMCE需要黑客攻击。
RedCloth无法支持所有HTML对我来说是一个破坏者。 (除此之外,你不能支持给图像一个描述或标题!!!!)我不介意标记,因为完全缺乏灵活性。另外,这就像学习一门新语言 - 很多标记与直觉相反(如图像对齐),我无法想象要求贡献者学习所有这些。
对于评论,我会使用更轻的东西。
答案 10 :(得分:0)
我在使用CKEditor(gem“ckeditor”)时遇到了不好的经历..我设法让它在本地机器上工作,但在尝试将它部署到Heroku时遇到了很多问题。似乎代码太重而不能自动在Heroku上预编译代码......这意味着它无用......
编辑: 解决方案:确保在将其部署到Heroku上之前预编译javascript。
答案 11 :(得分:0)
我会使用Tiny MCE,它是我与Web应用程序集成的Java脚本解决方案,用于编辑HTML。