SummerNote 富文本编辑器 - Rails 集成

使用官方提供的CDN服务javascript

将下面一段加入layout文件中css

<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>

使用本地静态文件html

当使用CDN的时候,summernote.css会自动从云端加载summernote的字体配置文件,而当下载summernote.css到本地时,rails只会在本地查找字体,因此会致使富文本编辑器的工具栏显示异常,解决方式就是手动下载字体文件,并修改 summernote.css 里面加载字体的配置。java

# 进入 Rails 应用根目录
mkdir -p app/assets/fonts
curl -o app/assets/fonts/summernote.eot http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/font/summernote.eot
curl -o app/assets/fonts/summernote.woff http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/font/summernote.woff
curl -o app/assets/fonts/summernote.ttf http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/font/summernote.ttf
# 按下面的方式修改 summernote.css (注意:后面字符串有可能不同)
url("./font/summernote.eot?e557617934c52ea068954af79ed7c221") => asset_url("summernote.eot") url("./font/summernote.woff?e557617934c52ea068954af79ed7c221") => asset_url("summernote.woff") url("./font/summernote.ttf?e557617934c52ea068954af79ed7c221") => asset_url("summernote.ttf")  

建立富文本编辑框(以上配置好了,如今使用 summernote 来建立富文本编辑器 HTML+JS)jquery

// html
……
<div id="editor"></div>
……

// js
$(document).ready(function(){
  $("#editor").summernote({height: 500});
});

注意: 若是想要一个页面建立多个富文本编辑框,只须要经过 $(".note-editable") 就能够获取每一个富文本编辑框的内容,而后根据需求分别处理便可。ajax

问题1: 配置以后依然没法正常显示工具栏?bootstrap

有可能没有将字体加入预编译中,修改 config/initializers/assets.rb,而后给 Rails.application.config.assets.precompile 增长 (*.eot, *.ttf, *.woff)bash

相关文章
相关标签/搜索