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

我的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设置为可信任的从而不转义,从而能够正常显示。

以上,大家继续加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天了?昨天扎扎实实的玩了一天的游戏,然后什么都没有做。 整个周末都在打游戏中,饭都没怎么吃,导致今日上班...
    是魔王大人阅读 1,761评论 5 0
  • 现在是早晨八点,这时大学的第二个学期。假期中。窗外是倾盆大雨,宿舍里只有我和另一个舍友,她还睡着。很平淡的早晨,除...
    爱生活的小太阳阅读 2,738评论 1 6