Ruby on Rails 2.0 日记
第8章 生成 Rails 1.2 的 API 文档
在 Ruby on Rails 开发时经常得到 http://api.rubyonrails.org/ 的帮助。但是有一点为难的是,这里刊登的信息中只有最新版的 Rails 的 API 。使用老版本的 Ruby on Rails 进行开发时,老版本的文档便十分必要。
下面说明自己生成 Rails 1.2.3 的文档的步骤。(以下的是在 Linux/Mac OS X 上的步骤。Microsoft Windows 环境下省略 sudo ,将目录的分隔符 / 换成 \。)
首先查看 RubyGems 的版本。
% gem --version 1.0.1
如果 RubyGems 好像比这还旧的样子,就进行更新。
% sudo gem update --system
然后查看安装的 Rails 的版本。
% gem list rails *** LOCAL GEMS *** rails (2.0.2, 1.2.6, 1.2.3)
如果 1.2.3 的文字不在列表中,便指定版本安装 Rails。
% sudo gem install rails --version=1.2.3
接下来,进入适当的目录,(例:/home/kuroda/working),生成新的 Rails 程序 api。但是要注意一下没写 _1.2.3_ 的话,生成的便是最新版本(2.0.2)的程序。
% cd /home/kuroda/working % rails _1.2.3_ api
接下来执行 Rake 任务 rails:freeze:gems 。
% cd api % rake --require=rubygems/gem_runner rails:freeze:gems VERSION=1.2.3 (in /home/kuroda/working/api) Freezing to the gems for Rails 1.2.3 Unpacked gem: '/home/kuroda/working/api/vendor/rails/activesupport-1.4.2' Unpacked gem: '/home/kuroda/working/api/vendor/rails/activerecord-1.15.3' Unpacked gem: '/home/kuroda/working/api/vendor/rails/actionpack-1.13.3' Unpacked gem: '/home/kuroda/working/api/vendor/rails/actionmailer-1.3.3' Unpacked gem: '/home/kuroda/working/api/vendor/rails/actionwebservice-1.2.3' Unpacked gem: '/home/kuroda/working/api/vendor/rails/rails-1.2.3'
在这里没有添加 --require=rubygems/gem_runner 的话,便会出现下面这个错误导致中止。这个现象在0.9.5 以后的 RubyGems 发生。
% rake rails:freeze:gems VERSION=1.2.3 Freezing to the gems for Rails 1.2.3 rake aborted! uninitialized constant Gem::GemRunner (See full trace by running task with --trace)
这个错误只要出现一次,即使添加 --require 选项执行刚才的任务,也会因其它的错误中止。
% rake --require=rubygems/gem_runner rails:freeze:gems VERSION=1.2.3 rake aborted! no such file to load -- /home/kuroda/working/api/config/../vendor/rails/railties/lib/initializer /home/kuroda/working/api/Rakefile:4 (See full trace by running task with --trace)
但是,删除 vendor/rails 目录的话便回复正常。
% rmdir vendor/rails % rake --require=rubygems/gem_runner rails:freeze:gems VERSION=1.2.3
接下来执行 Rake 任务 doc:rails 。
% rake doc:rails
doc/api 目录下生成了 index.html 之外的大量的 HTML 文件。使用浏览器打开的话 便显示出Rails 1.2.3 的 API 文档。
参考资料
(2008/03/04)
- 前言
- 第1章 安装 (2007/12/15)
- 第2章 生成新程序 (2007/12/16)
- 第3章 SQLite3 (2007/12/21)
- 第4章 模板文件的扩展名 (2007/12/22)
- 第5章 功能测试 (2008/01/19)
- 第6章 redirect_to 与 url_for (2008/02/24)
- 第7章 config/initializers 目录 (2008/02/27)
- 第8章 生成 Rails 1.2 的 API 文档 (2008/03/04)
- 第9章 helper :all (2008/05/05)

