我允许我的用户创建作业并将其分发给员工。分配具有称为描述的属性。而不是用户填写纯文本字段来创建描述我想给他们一个可编辑的降价支持框来填写。完全像我现在填写的那个。我之前从未构建过这样的东西,但我想知道是否有一个Ruby gem或插件可以帮我解决这个问题?
答案 0 :(得分:1)
我建议您使用github的宝石:https://github.com/github/markup
首先安装几个宝石:
然后尝试以下方法:
require "github/markup"
require 'html/pipeline'
require 'nokogiri'
require 'nokogiri/diff'
filename = ARGV.first
puts GitHub::Markup.render(filename, File.read(filename)).strip.force_encoding("utf-8")
答案 1 :(得分:1)
我可以推荐你SimpleMDE javascript markdown编辑器。在这种情况下,您不需要ruby gem用于markdown,因为SimpleMDE可以为您生成html版本。您需要在数据库中保存两个版本 - markdown和html。
我们的表格assignments
包含两个字段description
以保留降价版本,description_html
用于保留问题的html版本。到目前为止,您创建了共同的轨道分配'将simplemde实例形成并绑定到description
textarea。对于description_html
创建隐藏字段标记:
<%= f.hidden_field :description_html %>
<%= f.textarea :description %>
在任何更改上,simplemde会将html版本保存到description_html
隐藏字段:
var simplemde = new SimpleMDE({ element: $("#MyID")[0] });
simplemde.codemirror.on("change", function(){
# set a html to a hidden field
$('#description_html_id_CHANGE_IT').val(simplemde.getHtmlValue());
});