如何在Rails中实现富文本文档存储

时间:2013-06-21 17:29:32

标签: ruby-on-rails postgresql ckeditor

我需要在Rails 3.2应用程序中使用一个小的(总共少于100个)文档存储,用户可以在其中创建,编辑,保存和删除富文本文档(理想情况下包括图像和其他附加项目)。没有可用的文件系统。 Everthing必须在PostgreSQL数据库表中。这些文件将作为系统范围的电子邮件和消息横幅模板。

我的方法是CKEditor。但是ckeditor gem似乎将附件作为文件连接起来。此外,它不提供文档本身的创建/更新存储,只提供附件。

我知道如何滚动我自己的模型/控制器/查看CKEditor,但肯定有一种更简单的方法。

那么实现富文本文档存储目标的最直接方法是什么?有插件还是宝石?

更多CKEditor参考:This thread使它看起来像一个重大项目,但它已经有2年了。 This one makes it sound喜欢默认值,但没有其他文档可以。

更多

使用S3,建议的Dropbox也是nogo。正如我所说,数据必须驻留在PgSQL表中。好消息:找到了paperclip_database宝石。坏消息:无法与ckeditor gem无缝协作。主要问题归结为源文件database.rb中的这一位:

  def setup_paperclip_files_model
    #TODO: This fails when your model is in a namespace.

确实如此,就像Ckeditor::Asset模型一样!现在尝试猴子补丁。如果有人已经让这三颗宝石正确地合作,我会给你一个指针的赏金!

2 个答案:

答案 0 :(得分:2)

非常确定CKEditor使编辑数据库表单字段变得相当简单,这就是编辑文档本身所需要的,对吗?

就附件存储而言,您可以使用paperclip来管理附件 - 文件存储只是默认设置。如果您使用回形针,则可以使用其中一个存储选项,例如Amazon S3存储,Dropbox,或创建自己的存储选项。

希望有所帮助。

答案 1 :(得分:0)

您链接的第一个线程正确使用它:您需要(查找或)编写自定义服务器连接器,并配置CKEditor以使用它。您可以在此处找到相关的更新文档:

http://docs.ckeditor.com/#!/guide/dev_file_browser_api