什么是Rails最佳的所见即所得编辑器?- Ruby on Rails博客

5

如何在Ruby on Rails博客的正文:text字段中添加图片和嵌入视频?

我知道可以使用类似Paperclip的附件将照片添加到记录中,但我想知道如何将图片/视频嵌入到文章正文中。


我在Yii项目中使用了CKEditor 4,而Yii基本上是Rails的复制品。Rails还有一个名为Refinery的本地CMS系统,我也用过(但它没有像WordPress那样多的功能)。 - Chloe
3个回答

4
我强烈建议您尝试使用WYSIHAT。上述编辑器的最大问题是它们体积庞大且“难以自定义”(能力)。这些编辑器中的糟糕代码会让人却步。WYSIHAT更像是一个所见即所得编辑器的框架。非常容易定制。易于配置。而且,它由37signals支持。我赞赏TinyMCE的从Word粘贴功能,因为它可以保留布局。但如果没有那个功能,我认为其余部分实在太笨重了。
请务必阅读本文:http://37signals.com/svn/posts/1330-introducing-wysihat-an-eventually-better-open-source-wysiwyg-editor 使用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)开发的令人惊叹的rails-engine,适用于37signals WYSIHAT编辑器: http://github.com/80beans/wysihat-engine 这是Jeff Kreeftmeijer的一篇文章: http://www.80beans.com/2009/10/01/wysihat-engine/

这看起来更像是我正在寻找的,而且我喜欢37Signals。我非常感谢所有的链接。从外观上看,我可以将其安装为gem,运行生成器并修改表单。您知道有关如何使用此功能添加图片的任何资源吗?我正在使用paperclip,并想知道它是否兼容或如何工作。 - bgadoci
1
看起来我已经成功安装了。我有两个问题,我会在另一篇帖子中列出。 - bgadoci
就Paperclip而言,我建议您查看Wysihat-engine。它已经使用了Paperclip进行上传。如果有问题,请在此处链接回来。 - Shripad Krishna
嘿,也许你不知道CKEditor。试试看吧。没有混乱的代码,只有漂亮的xhtml,而且你可以从Word中复制粘贴(再次获得漂亮的代码)。编辑器易于定制。别在没有知识的情况下发表智慧,Paddy!它取决于目标用户群。对于典型的办公室用户来说,CKEditor是最好的选择。 - retro
1
@retro:感谢您的评论,我深受感动。你可以使用CKEditor,而我会坚持WYSIhat。37signals推出所见即所得编辑器框架并非傻瓜,使用前要三思而后行。我从未试图拉低CKEditor的水平,我提到的是“大多数”而不是全部编辑器,其中可能包括CKEditor。CKEditor并非所见即所得框架,这本身就有很大的区别。您想在CKEditor中进行微观级别的自定义?请随意。如果您真的想知道我在说什么,请先尝试WYSIhat。 - Shripad Krishna
这有点离题,但当我第一次读到这个名字时,我看到了“WHYSHAT”..哈哈哈 - imjp

3

尝试使用CKEditor for Rails。它是带有非常干净的HTML生成器的FCK编辑器的新版本。非常容易嵌入。您需要做的就是用另一个助手标签替换输入(文本区域)助手标签(用于内容)。项目README中详细介绍了所有内容。 您可以上传文件(图片),并直接从CKEditor中使用它们。


看起来这正是我需要的。我安装了danivovich提到的TinyMCE,但它不允许附件。TinyMCE Plus需要attachment_fu(我有paperclip),并且还可能会出现will_paginate问题。所有这些都说了,我似乎无法安装CKEditor。您知道有关安装此gem的文档吗?git链接只有插件,无论我在终端中输入什么,都无法工作。 - bgadoci
可能您的系统上没有安装git。在您的shell中输入git --version。如果您没有安装git,只需安装即可。您能否写出您在终端中遇到的错误? - retro

0

嵌入式编程的经典方法之一是使用所谓的所见即所得编辑器,例如TinyMCE。我曾经使用过TinyMCE插件,还有TinyMCE Plus。可能有一些TinyMCE本身的插件可以处理一些嵌入式内容。

如果您开始允许在正文中使用某些标签,请确保使用sanitize等工具来清理不想允许的标签,以防止脚本攻击等问题。请务必了解XSS和HTML/JavaScript注入的相关知识。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接