Rails框架技术讲座:再谈嵌入式富文字编辑器FCKeditor

来源:互联网 发布:linux条件变量 编辑:程序博客网 时间:2024/05/16 04:41
目录
  • (一)系统环境
  • (二)前提条件
  • (三)目的
  • (四)解决方案
  • (五)必须注意的问题
  • (六)参考资料
  • (七)命令清单

  (一)系统环境:

  1. Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4
  2. Rails 框架 1.1.6版本,安装方法:
    gem install rails -v=1.1.6
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux操作系统
  4. 数据库系统SQLite,安装方法请看这里。
  5. 需要一个浏览器,如FireFox1.5.0.1。
  6. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe。
  7. 在Windows XP上安装Linux核心命令,点击这里。

(二)前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:/works_rails。
  2. 你的电脑必须在线。

(三)目的:

  1. 富文字编辑器FCKeditor已经被广泛应用于网络应用软件中。在下面的资料四中,也在Rails框架应用软件中集成过它,但是比较复杂一些。这里介绍利用Rails框架插件fckeditorp来把它集成到我们的应用软件中就比较简单一点了。
  2. 本讲座的完整代码请您在Google Code Hosting上查看:
    http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use
    或者下载
    svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use

(四)解决方案:

  1. 创建Rails框架应用软件fckeditor_use
    rails fckeditor_use
    cd fckeditor_use
  2. 安装Rails框架插件fckeditorp
    ruby script/plugin install svn://rubyforge.org/var/svn/fckeditorp/trunk/fckeditor
    修改一下该插件的代码,我感到该代码有点问题。
    vi vendor/plugins/fckeditor/lib/fckeditor.rb
    具体主要代码如下:
    id = eval("@#{object}.id")
    if(id != nil)
    "#{object}_#{id}_#{field}"
    else
    "#{object}_#{field}"
    end
  3. 修改数据库配置文件 database.yml 并且下载一个SQLite3数据库文件fckeditor.db
    vi config/database.yml
    wget http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use/fckeditor.db
  4. 利用Rails框架代码生成器,创建并且修改控制器文件,页面文件如new.rhtml,页面模板文件admin.rhtml和模型文件:
    ruby script/generate scaffold Lesson admin
    vi app/views/layouts/admin.rhtml
    vi app/views/admin/new.rhtml
    文件admin.rhtml主要修改代码:
    <%= javascript_include_tag "fckeditor/fckeditor" %>
    文件new.rhtml主要修改代码:
    <%= fckeditor_textarea("lesson", "text", :toolbarSet => 'Simple', :width => '100%', :height => '200px' )%>
  5. 启动网络服务器WEBrick
    ruby script/server
  6. 再打开浏览器
    http://127.0.0.1:3000/admin/new

 (五)必须注意的问题:

如果你的网址不是根域名,比如我的网站http://www.hhtong.com/blog1/,那么要修改下面文件:
vi public/javascripts/fckcustom.js
原来代码为:
             FCKRelativePath = '';
    修改代码为:
    FCKRelativePath = '/blog1/';
如果出现下面的错误:
    A    D:/open_rails/mephisto/trunk/vendor/plugins/fckeditor/public/javascripts/fckeditor/htaccess.txt
    Exported revision 41.
    Plugin not found: ["svn://rubyforge.org/var/svn/fckeditorp/trunk/fckeditor"]
那么你要使用下面命令来完成安装:
    wget http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use/public/javascripts/fckcustom.js
    mv fckcustom.js public/javascripts/.
    svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use/public/javascripts/fckeditor/ public/javascripts/fckeditor

(六)参考资料:

  1. Rails框架插件fckeditorp首页
    http://rubyforge.org/projects/fckeditorp/
  2. Rails框架插件fckeditorp博客
    http://blog.caronsoftware.com/articles/category/fckeditor-plugin
  3. Rails框架插件fckeditorps使用说明
    http://fckeditor.caronsoftware.com/#multinote:1:null:asc
  4. 如何使用FCKEditor框架
  5. http://www.aidanf.net/adding-a-rich-text-editor-to-your-rails-application

(七)命令清单:

rails fckeditor_use
cd fckeditor_use

ruby script/plugin install svn://rubyforge.org/var/svn/fckeditorp/trunk/fckeditor
vi vendor/plugins/fckeditor/lib/fckeditor.rb

vi config/database.yml
wget http://cnruby.googlecode.com/svn/trunk/rails-projects/fckeditor_use/fckeditor.db
[Optional Command]
vi public/javascripts/fckcustom.js

ruby script/generate scaffold Lesson admin
vi app/views/layouts/admin.rhtml
vi app/views/admin/new.rhtml
ruby script/server



 
原创粉丝点击