【问题标题】:What are the best options for Rich Text Editing in Rails?Rails 中富文本编辑的最佳选择是什么?
【发布时间】:2008-10-13 14:13:00
【问题描述】:

我想在表单上使用富文本编辑,以便管理员更改说明。这样做的最佳选择是什么?

[更清楚一点 - 管理员不是技术人员,但可能希望在不使用标记或尽可能少的标记的情况下控制某些格式。我希望他们能够使用具有一些格式控件的 RTE 编辑所有 AJAXy 内联,然后提交并能够在不更改页面的情况下查看最终用户的说明。

关于插件,我想知道哪些 Rich Test Editing 插件最适合在 Rails 中使用。最容易实现、最清晰的 API、最容易内联使用等...]

【问题讨论】:

    标签: ruby-on-rails text-editor in-place


    【解决方案1】:

    我们从TinyMCE 开始,但我们正在切换到雅虎的Rich Text Editor,因为 TinyMCE 的工作方式存在一些奇怪的问题,而且富文本编辑器文档和默认外观更出色。

    两者都很容易与 Rails 集成(毕竟它们只是 JavaScript)。有插件,但你真的不需要。

    【讨论】:

    • 其他不错的选项可能是Trix (gem here) 和ckeditor,它支持carrierwavecancancan
    【解决方案2】:

    我过去也经历过类似的挣扎,最终选择了 YUI。不幸的是,YUI 结果(至少对我而言,诚然,我匆忙通过并且从未重构过),在糟糕的 html 中。

    然后今晚,当我偶然发现这篇文章时,我发现了 PunyMCE。它有 2 个很棒的地方:1) 它非常轻巧(顾名思义),2) 已经为它创建了一个 rails 插件:github 上的 puny_mce。

    文档已经足够好了,除了一些我忽略/让我摸不着头脑的事情:

    1. “用法”下有错字, 应该是
    2. 如果你想使用更多 比基本工具栏,你需要 包括 a) 预先设置 profile 或 b) 工具栏项目和 这些项目所需的插件 两个include_puny_mce 电话 和puny_mce 电话。这使得 感觉——include_puny_mce 是 指示在其上的页面 它需要的javascripts,以及 puny_mce 电话实际上正在建设中 所需的 javascript 输出 生成富编辑器。

    这是我整理的一个例子来演示:

    <% content_for :head do %>
      <%= include_puny_mce :profiles => [:full] %>
    <% end %>
    
    <h1>New post</h1>
    
    <% form_for(@post) do |f| %>
     <%= f.error_messages %>
     <%= f.label :title, "Title" %><br />
     <%= f.text_field :title %><br />
     <%= f.label :content, "Post Content" %><br />
     <%= f.text_area :content, :cols => 100 %>
     <%= puny_mce 'post_content', 'post_content', :profile => :full %>
     <p>
         <%= f.submit 'Create' %>
     </p>
    <% end %>
    

    我希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      我不确定我是否完全理解了这个问题,但如果您只是询问要使用哪个编辑器,有很多选项,但它们都不是 Rails 的问题 - 您可以通过添加一个来使用它们中的任何一个一小段 javascript 到您的标记中。可以在这里找到很好的最新概述:http://bulletproofbox.com/web-based-rich-text-editors-compared/

      【讨论】:

      • 抱歉链接已损坏。如果可以,请更新它。
      • 哦。网站好像挂了。我将链接更改为 google cachce 版本,所以你至少有一些内容。
      【解决方案4】:

      为 Rails 实现了许多模板语言,它们为标记提供了相对简单的语法。我以前用过 RedCloth,Textile (http://redcloth.org/) 的 gem 实现,非常好。像 Liquid (http://www.liquidmarkup.org/) 这样的东西更强大一些,它允许模板实际上内联包含数据库信息。根据您项目的需求,两者都可能很合适。

      这些解决方案都不能单独提供就地富文本编辑器,但对于可能是嵌入式解决方案的后端来说,它们是一个很好的起点。如果您只是让管理员输入信息,我想他们不会害怕一点纯文本输入。

      【讨论】:

        【解决方案5】:

        米兰答案中的链接已损坏。值得庆幸的是,Ajaxian.com 对帖子进行了很好的总结,并提供了帖子中所有 RTE 及其 cmets 的链接。

        链接:http://ajaxian.com/archives/richtexteditors-compared

        【讨论】:

          【解决方案6】:

          从 Rails 6 开始,Rails 原生支持 Trix editor

          您可以在模型中使用简单的rich_text_area 表单助手和has_rich_text

          Rails 指南:https://edgeguides.rubyonrails.org/action_text_overview.html

          【讨论】:

            【解决方案7】:

            我知道这个威胁已经很老了,但几周前我发现了一些好的选择,所以如果其他人像我一样面临同样的问题,我会给出更不满的回应。所以我最喜欢的编辑器是Froalawysiwyg-editor,如果你使用的是rails),它看起来很干净,易于处理,支持嵌入式视频、图片上传、文件上传,并且完全可定制到你甚至可以让它变得简单的程度对于没有任何响应式开发知识的后端用户,将项目正确放置在页面上以使其完全响应。我们现在已经将此编辑器用于多个项目,并且客户喜欢它。

            文档令人满意,但如果您将它与 Rails 和 Django 等框架一起使用(就像我们一样),它可能会更好。但我认为它每月都在改善。

            另一个非常有前途的编辑器是Quill(如果您使用的是rails,则为quill-rails)。我们还没有将它用于项目,但正在试验。一旦我们有更多经验,我们将在此处和SSC 上发布一些注释。

            最后,如果您想做或提供响应式前端编辑,您可能需要查看x-editable。查看演示 - 它非常简洁!

            【讨论】:

              猜你喜欢
              • 2017-04-13
              • 2010-09-20
              • 1970-01-01
              • 2010-09-17
              • 2011-10-01
              • 1970-01-01
              • 2010-09-29
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多