【发布时间】:2010-09-06 16:16:01
【问题描述】:
对于所见即所得的编辑器,是否有一个很好的 ruby gem 可以轻松地与 rails 应用程序一起使用?
【问题讨论】:
标签: ruby-on-rails ruby gem
对于所见即所得的编辑器,是否有一个很好的 ruby gem 可以轻松地与 rails 应用程序一起使用?
【问题讨论】:
标签: ruby-on-rails ruby gem
虽然这肯定不是一个直接的答案,但在过去我发现我更喜欢使用 RedCloth(如果您不喜欢 Textile,则可以使用 Markdown 解析器)并使用带有 AJAXy 预览的简单文本区域。一般来说,WYSIWYG 编辑器在创建冗余标签和类似标签方面有着悠久的历史,这可能导致 HTML 片段的损坏。
【讨论】:
虽然我知道这已得到回答,但我想补充一下关于纺织品的使用...我完全同意,但我建议在 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 的处理过程可能会有点繁重,如果您在每次渲染时不断处理这些内容,您将会遇到一些内存问题......这只会帮助您减少一些所需的资源。
【讨论】:
2010 年更新。我刚刚使用 tinyMCE gem 在 Rails 应用程序中实现了 TinyMCE。
你可以在这里找到它:http://github.com/kete/tiny_mce
只用了不到 5 分钟,在我的基本测试中,它运行良好。 2010 年 6 月有一个提交,所以看起来这是一个积极开发的 gem。
希望对一些谷歌员工有所帮助。
【讨论】:
我不确定 Ruby Gem,但TinyMCE 是一个可定制的、通常稳定的 WYSIWYG 编辑器,与任何项目集成相当简单。我已经用过很多次了。
【讨论】:
类似问题:What is the best WYSIWYG for Rails - Ruby on Rails Blog
我也在这里粘贴了相同的解决方案。
我强烈建议您尝试一下 WYSIHAT。上面提到的编辑器最大的问题是体积庞大和“难以定制”(能力)。大多数这些编辑器中的糟糕代码是一个很大的障碍。 WYSIHAT 更像是一个所见即所得编辑器的框架。非常容易定制。易于配置。还有更多.. 它由 37signals 提供支持。我对 TinyMCE 的欣赏是它保留了布局的 word 粘贴功能。但如果不是因为这一项功能,我会发现其余功能非常庞大。
WYSIHAT 使用教程:第 1 部分:http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/
第 2 部分:http://jrmehle.com/2009/02/13/wysiwhat-wysihat-part-2/
为了让您的生活更轻松,Jeff Kreftmeijer (80beans.com) 为 37signals WYSIHAT 编辑器开发了一个很棒的 Rails 引擎:http://github.com/80beans/wysihat-engine
这是 Jeff Kreeftmeijer 的一篇文章:http://www.80beans.com/2009/10/01/wysihat-engine/
【讨论】:
我使用 FCKEditorOnRails 插件:http://github.com/UnderpantsGnome/fckeditor_on_rails/tree/master
请注意,如果您在旧版本中遇到错误,通常可以直接使用最新版本的 FCKEditor,而无需进行太多调整。
【讨论】:
看看http://livepipe.net/control/textarea 对于所选答案中提到的具有 AJAXY 预览的 WYSIWYG 降价编辑器。
【讨论】:
有一个插件可以将 TinyMCE 与 rails 一起使用,rails wiki 上有很多信息。
【讨论】:
+1 for FCKEditor - 有一个很棒的 Rails 插件,其中包含帮助程序。然而,它通常是矫枉过正的,因为它具有一切。在许多情况下,像 jQuery 的 WYSIWYG 编辑器这样更简单的东西非常适合包装文本区域输入。
【讨论】:
我真的很喜欢 CKeditor gem。它比 TinyMCE 优雅得多,尤其是在处理原始 HTML 时。 CKeditor 显示在页面上——TinyMCE 会弹出一个窗口。 CKeditor 也允许直接访问所有标题等内容。 TinyMCE 需要破解。
RedCloth 无法支持所有 HTML 对我来说是个大问题。 (除此之外,您不能支持为图像提供描述或标题!!!!)我并不介意标记,而是完全缺乏灵活性。另外,这就像学习一门新语言——很多标记与直观相反(如图像对齐),我无法想象要求贡献者学习所有这些。
不过,对于 cmets,我会使用重量更轻的东西。
【讨论】:
我在使用 CKEditor (gem "ckeditor") 方面有过不好的经历。我设法让它在本地机器上工作,但是在尝试将它部署到 Heroku 时遇到了很多问题。似乎代码太重而无法自动在 Heroku 上预编译代码......这意味着它毫无用处......
编辑: 解决方案:确保在将 javascript 部署到 Heroku 之前对其进行预编译。
【讨论】:
我会使用 Tiny MCE,它是一种 Java Script 解决方案,我已与 Web 应用程序集成以编辑 HTML。
【讨论】: