如何用ri/rdoc工具读取本地Rails文档及终端gem文档(LinuxMint18.3/Rails5.1.4)
在LinuxMint 18.3 + Rails 5.1.4环境下使用ri/rdoc读取本地文档
嘿,刚好我之前在类似环境里折腾过这个,给你一步步讲清楚怎么操作:
一、用ri/rdoc读取本地Rails文档
首先得确保Rails的本地文档已经安装好了——毕竟有些时候gem默认安装会跳过文档生成,先检查一下:
- 运行
gem list rails -d,看输出里有没有Installed at: [你的Rails gem路径]下面标注的Documentation相关内容。如果没有,就重新安装Rails并强制生成文档:gem install rails -v 5.1.4 --no-document=false
用ri在终端读Rails文档
ri是终端里直接看文档的神器,用法很灵活:
- 查看Rails的整体文档:直接输入
ri Rails,终端会输出Rails的核心介绍和模块列表; - 查看具体模块/类:比如想了解控制器相关内容,输入
ri Rails::Controller; - 精准定位方法:比如要看render方法的详细说明,输入
ri Rails::ActionController::Base#render; - 搜索相关内容:如果记不清具体方法名,用
-i参数模糊搜索,比如ri -i "render",会列出所有包含render关键词的Rails方法文档; - 分页查看:如果输出内容太长,搭配
less分页更方便:ri Rails::Controller | less,按q就能退出分页。
用rdoc生成HTML版Rails文档
如果更喜欢在浏览器里看排版更友好的文档,可以用rdoc生成HTML:
- 先找到Rails gem的安装路径,运行
gem which rails,会得到类似/usr/local/lib/ruby/gems/2.3.0/gems/rails-5.1.4的路径; - 进入这个目录:
cd /usr/local/lib/ruby/gems/2.3.0/gems/rails-5.1.4; - 运行
rdoc --all,生成完成后,打开该目录下doc文件夹里的index.html,就能在浏览器里浏览完整的Rails本地文档了。
二、用ri工具读取任意gem的终端文档
其实Rails本身就是一个gem,所以读取其他gem文档的方法和上面基本一致:
- 查看某个gem的整体文档:比如要读devise的文档,直接输入
ri devise; - 查看gem的具体类/方法:比如
ri Devise::Models::DatabaseAuthenticatable或者ri Devise::User#authenticate; - 限定gem搜索:如果怕搜索范围太广,用
-g参数指定gem,比如ri -i "validate" -g devise,只搜索devise里包含validate的内容; - 补装gem文档:如果某个gem没有文档,同样用
gem install [gem名] --no-document=false重新安装带文档的版本; - 更新ri索引:如果偶尔遇到ri找不到文档的情况,试试重新生成所有gem的ri索引:
rdoc --all --ri,更新完应该就能找到了。
内容的提问来源于stack exchange,提问作者vovs03
相关产品推荐
相关产品推荐

