美文网首页Ruby on RailsRuby、Rails知识@IT·互联网
【程序员笔记】rails使用kindeditor实现富文本编辑器

【程序员笔记】rails使用kindeditor实现富文本编辑器

作者: 李庆文 | 来源:发表于2017-04-21 17:19 被阅读195次

    我的rails博客的搭建过程中,感觉最开始写的的输入框是在是太丑了,然后发现网上有对rails非常友好的kindeditor编辑器。所以本着DRY原则,放到自己的项目中。

    ruby on rails

    一. 安装kindeditor一共五步走。

    1. 第一步,将对应的gem放到自己的gemfile文件中。
      gem 'rails_kindeditor'
    
    1. 第二步,更新gem依赖
      bundle install
    
    1. 第三步,安装对应的gem组件
    rails g rails_kindeditor:install
    
    1. 第四步,将kindeditor对应的文件放到自己app/assets目录下
     rails kindeditor:assets
    
    1. 更新自己的html.erb文件
      将原来的
    <%= f.text_field :content %>
    

    改成

          <%= f.kindeditor :content ,:window_onload => true  %>
    

    以上正式教程就结束了,看一下效果。

    kindeditor的效果

    二. 安装过程中可能碰见的一个bug

    看起来安装过程很简单,但是实际上我在使用的时候碰到的一个问题:没有找到app/assets目录下的kindeditor。具体显现出来的问题是我们的界面和之前的没有什么变化

    最后发现问题症结在我们的kindeditor的js文件并没有添加到我们的项目中。

    解决措施是在app/assets/javascripts/application.js中添加一句话

    //= require kindeditor
    

    然后重新启动一下你的服务器就可以了。

    三. 显示的时候出现不能正常显示的问题

    bug描述我们将内容保存到数据库中之后,等我们想显示的时候,我们发现得到的竟然是带有html标签的文本,而不是我们想象中的对应格式的文件。

    bug原因是rails有自我保护机制,当判断我们的string中有<和>等标签时,他会自己转义。看一下下面的例子

    <h1> this is a passage for rails </h1>
    

    会被rails转移为下面格式的语言

    &lt;h1&gt;
        this is a passage for rails
    &lt;/h1&gt;
    

    可以清晰的看到,被转义了。

    bug修复
    将我们之前的

         <%= @post.content %>-->
    

    改成

         <!--方法一-->
            <%=  @post.content.html_safe %>
    

    或者

       <!--方法2-->
           <%= raw @post.content %>
    

    解决原理 就是讲我们的string设置为可信任的从而不转义,从而能够正常显示。

    以上,大家继续加油!

    相关文章

      网友评论

      • 叶赛文:大神你好! 我在用kindeditor的过程中,发现了一个问题:网站上传到服务器后,上传图片,显示上传成功。 网站的图片在电脑端和手机端均显示正常。
        但是,第二天,再打开网站时,图片就不见了。
        我的demo地址: https://aqueous-lowlands-13142.herokuapp.com/
        我的微信:fengyang2008d.
        多谢!
      • 哈尔湖:不错哦
        李庆文:@哈尔湖 哈哈,谢谢喜欢了~一起加油~

      本文标题:【程序员笔记】rails使用kindeditor实现富文本编辑器

      本文链接:https://www.haomeiwen.com/subject/dqodzttx.html