如何在Rails应用程序中处理可管理编辑的自由格式文本?

时间:2014-09-15 18:25:57

标签: ruby-on-rails ruby text gem markdown

我正在尝试将指南doc 类型页面添加到我的Rails应用程序中(例如,如果Stack Overflow希望this page可以随时由管理员或版主进行编辑)。我不想用HTML对其进行硬编码,因为编辑它需要完全部署。这将是一个活文档,系统管理员可以随时添加和编辑。

在让管理员以友好,非技术的方式编辑文本方面,我可能只是将此文本降价。

我的问题:是否有处理此问题的红宝石宝石?这可能不是我最后一次在应用程序中需要可编辑的生活文档。实际上,/ about页面也可能是一个很好的候选者。当然我可以创建一个带有文本字段的模型/表格,但我可以发誓我遇到了一个或多个优雅地处理这个问题的宝石。似乎无法回想起他们到底是什么......

谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解你,你需要保留一些Markdown格式的页面以便于编辑。

为此,您可以使用kramdown。 Markdown引擎可以将.md文件转换为.html。首先在Gemfile中添加以下行:

gem 'kramdown', '~> 1.4.1'

在您的控制器中:

require 'kramdown'

#...

def show
  text =  File.read('app/assets/readme.md')
  @html = Kramdown::Document.new(template).to_html
end

在您看来:

<%= @html.html_safe %>

下一个问题是缓存您的页面,以便每次用户请求页面时都不会发生渲染。