我想在表单上使用富文本编辑,以便管理员更改说明。这样做的最佳选择是什么?
[更清楚一点-管理员不是技术人员,但可能希望在不使用标记或尽可能少的标记的情况下控制某些格式。我希望他们能够使用具有一些格式控制的 RTE 编辑所有 AJAXy 内联,然后提交并能够在不更改页面的情况下查看最终用户的说明。
关于插件,我想知道哪些 Rich Test Editing 插件最适合在 Rails 中使用。最容易实现、最清晰的 API、最容易内联使用等...]
我想在表单上使用富文本编辑,以便管理员更改说明。这样做的最佳选择是什么?
[更清楚一点-管理员不是技术人员,但可能希望在不使用标记或尽可能少的标记的情况下控制某些格式。我希望他们能够使用具有一些格式控制的 RTE 编辑所有 AJAXy 内联,然后提交并能够在不更改页面的情况下查看最终用户的说明。
关于插件,我想知道哪些 Rich Test Editing 插件最适合在 Rails 中使用。最容易实现、最清晰的 API、最容易内联使用等...]
我过去也经历过类似的挣扎,最终选择了 YUI。不幸的是,YUI 结果(至少对我来说,诚然,我匆忙通过并且从未重构),在糟糕的 html 中。
然后今晚,当我偶然发现这篇文章时,我发现了 PunyMCE。它有 2 个很棒的东西:1) 它非常轻巧(顾名思义),2) 已经为它创建了一个 rails 插件:github 上的 puny_mce。
文档已经足够好了,除了一些我忽略/让我摸不着头脑的事情:
include_puny_mce
如果您想使用的不仅仅是基本工具栏,您需要在调用和调用中包含 a) 预设置配置文件或 b) 工具栏项目和这些项目所需的插件puny_mce
。这是有道理的——它include_puny_mce
是在指示页面上它需要哪些 javascript,而
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 %>
我希望这有帮助!
我不确定我是否完全理解这个问题,但如果你只是问要使用哪个编辑器,有很多选项,它们都不是 Rails 的问题 - 你可以通过添加一点点来使用它们中的任何一个javascript 到您的标记中。可以在这里找到不错的最新概述:http: //bulletproofbox.com/web-based-rich-text-editors-compared/。
Rails 实现了许多模板语言,它们为标记提供了相对简单的语法。我以前使用过 RedCloth,这是 Textile ( http://redcloth.org/ ) 的 gem 实现,它非常好。像 Liquid ( http://www.liquidmarkup.org/ ) 这样的东西更强大一些,它允许模板实际上内联包含数据库信息。根据您项目的需求,两者都可能很合适。
单独使用这些解决方案都不会提供就地富文本编辑器,但对于可能是插入式解决方案的后端来说,这是一个很好的起点。如果您只让管理员输入信息,我想他们不会害怕一点纯文本输入。
米兰答案中的链接已损坏。值得庆幸的是,Ajaxian.com 对这篇文章做了一个很好的总结,并附上了文章中所有各种 RTE 的链接及其评论。
从 Rails 6开始, Rails 原生支持Trix 编辑器。
您可以在模型中使用简单的rich_text_area
表单助手has_rich_text
。
Rails guide here: https://edgeguides.rubyonrails.org/action_text_overview.html
我知道这个威胁已经很老了,但几周前我发现了一些好的选择,所以如果其他人像我一样面临同样的问题,我会给出更不满的回应。所以我最喜欢的编辑器是Froala(如果您使用的是 rails,则为所见即所得的编辑器),它看起来很干净,易于处理并支持嵌入式视频、图片上传、文件上传,并且完全可定制到您甚至可以简化后端的程度没有任何响应式开发知识的用户将项目正确放置在页面上以使其完全响应。我们现在已经将此编辑器用于多个项目,并且客户喜欢它。
该文档令人满意,但如果您将它与 Rails 和 Django 等框架一起使用(就像我们所做的那样),它可能会更好。但我认为它每月都在改善。
另一个非常有前途的编辑器是Quill(如果您使用的是 rails,则为quill- rails)。我们还没有将它用于项目,但正在试验。一旦我们有更多的经验,我们将在这里和SSC上发布一些注释。
最后,如果你想做或提供响应式前端编辑,你可能想看看x-editable。查看演示 - 它非常整洁!