我的rails博客的搭建过程中,感觉最开始写的的输入框是在是太丑了,然后发现网上有对rails非常友好的kindeditor编辑器。所以本着DRY原则,放到自己的项目中。
ruby on rails一. 安装kindeditor一共五步走。
- 第一步,将对应的gem放到自己的gemfile文件中。
gem 'rails_kindeditor'
- 第二步,更新gem依赖
bundle install
- 第三步,安装对应的gem组件
rails g rails_kindeditor:install
- 第四步,将kindeditor对应的文件放到自己app/assets目录下
rails kindeditor:assets
- 更新自己的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转移为下面格式的语言
<h1>
this is a passage for rails
</h1>
可以清晰的看到,被转义了。
bug修复
将我们之前的
<%= @post.content %>-->
改成
<!--方法一-->
<%= @post.content.html_safe %>
或者
<!--方法2-->
<%= raw @post.content %>
解决原理 就是讲我们的string设置为可信任的从而不转义,从而能够正常显示。
以上,大家继续加油!
网友评论
但是,第二天,再打开网站时,图片就不见了。
我的demo地址: https://aqueous-lowlands-13142.herokuapp.com/
我的微信:fengyang2008d.
多谢!