简单生活
返回文章列表
883 字5 分钟

Rails 命令大全

设计开发#Rails/Ruby

1. 创建 Rails 应用程序

Terminal window
rails app_name [options]

常用选项:

  • -d, --database=xxx:指定数据库类型(mysql、oracle、postgresql、sqlite2、sqlite3,默认使用 sqlite)。
  • -r, --ruby-path=:指定 Ruby 的安装路径(未指定时 scripts 使用 env 查找 Ruby)。
  • -f, --freeze:将 Rails 冻结在 vendor/rails 目录。

2. API Documentation

Terminal window
gem_server

启动一个 WEBrick 服务器。启动后可通过 http://localhost:8808/ 打开浏览器查看本地 Rails API 文档。

3. Rake 常用任务

Terminal window
# 载入 fixtures 到当前环境的数据库
rake db:fixtures:load
# 载入指定的 fixtures
rake db:fixtures:load FIXTURES=x,y
# 运行迁移脚本(可通过 VERSION=x 指定版本号)
rake db:migrate
# 导出数据库结构为 db/schema.rb
rake db:schema:dump
# 从 schema.rb 导入数据库
rake db:schema:load
# 清空 sessions 表
rake db:sessions:clear
# 用 ActiveRecordStore 创建 sessions 表
rake db:sessions:create
# 导出数据库结构为 SQL 文件
rake db:structure:dump
# 从当前环境数据库重新创建测试数据库
rake db:test:clone
# 从开发模式数据库重新创建测试数据库结构
rake db:test:clone_structure
# 准备测试数据库并载入 schema
rake db:test:prepare
# 清空测试数据库
rake db:test:purge
# 生成应用 HTML API 文档
rake doc:app
# 清除生成的文档
rake doc:clobber_app
rake doc:clobber_plugins
rake doc:clobber_rails
# 生成插件文档
rake doc:plugins
# 生成 Rails API 文档
rake doc:rails
# 强制重新生成文档
rake doc:reapp
rake doc:rerails
# 清空 log/ 目录下的所有日志文件
rake log:clear
# 冻结 Rails 版本到 Edge Rails(可用 REVISION=X)
rake rails:freeze:edge
# 冻结 Rails 版本到当前 gems(解包至 vendor/rails)
rake rails:freeze:gems
# 解除 Rails 冻结状态,恢复使用系统 gems
rake rails:unfreeze
# 从 Rails 更新 scripts 和 public/javascripts
rake rails:update
rake rails:update:javascripts
rake rails:update:scripts
# 输出代码统计信息(KLOCs 等)
rake stats
# 运行测试
rake test
rake test:functionals
rake test:integration
rake test:plugins
rake test:recent
rake test:uncommitted
rake test:units
# 清理与创建临时目录
rake tmp:cache:clear
rake tmp:clear
rake tmp:create
rake tmp:sessions:clear
rake tmp:sockets:clear

4. Scripts 脚本

Terminal window
# 输出当前环境信息
script/about
# 启动断点 server
script/breakpointer
# 启动交互式的 Rails 控制台
script/console
# 删除通过 generator 创建的文件
script/destroy
# 调用生成器
script/generate
# 插件管理工具
script/plugin
# 在 Rails 上下文中执行任务
script/runner
# 启动开发服务器(http://localhost:3000)
script/server
# 性能分析与测试(进阶工具)
script/performance/profiler
script/performance/benchmarker
script/process/reaper
script/process/spawner

5. Generators 生成器

Terminal window
ruby script/generate model ModelName
ruby script/generate controller ListController show edit
ruby script/generate scaffold ModelName ControllerName
ruby script/generate migration AddNewTable
ruby script/generate plugin PluginName
ruby script/generate mailer Notification lost_password signup
ruby script/generate web_service ServiceName api_one api_two
ruby script/generate integration_test TestName
ruby script/generate session_migration

常用选项:

  • -p, --pretend:模拟运行,不实际修改任何文件。
  • -f, --force:强制覆盖已存在的文件。
  • -s, --skip:跳过已存在的文件。
  • -q, --quiet:静默模式,抑制常规输出。
  • -t, --backtrace:调试模式,在发生错误时显示回溯追踪。
  • -h, --help:显示帮助信息。
  • -c, --svn:使用 Subversion 管理生成的文件(要求 svn 在 PATH 中)。

6. Plugins 插件管理

Terminal window
# 发现插件仓库
script/plugin discover
# 列出所有可用插件
script/plugin list
# 安装指定插件
script/plugin install where
# 将插件作为 SVN external 安装
script/plugin install -x where
# 从 URL 安装插件
script/plugin install http://invisible.ch/projects/plugins/where
# 更新已安装的插件
script/plugin update
# 添加插件源仓库
script/plugin source <repository_url>
# 移除插件源仓库
script/plugin unsource <repository_url>
# 列出已配置的插件源
script/plugin sources