rails命令(rails)
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
自动的创建对应用程序来说最低限度必要的文件夹和文件
使用方法
$ rails new 应用程序名 [选项]
选项
选项 | 说明 |
---|
-r, -ruby=PATH | ruby二进制文件的路径 |
-b, --builder-BUILDER | 指定builder的路径 |
-m, -template=TAMPLATE | 模板的路径 |
--skip-gemfile | 不创建Grmfile |
--skip-bundle | 不进行bundle install |
-G, --skip-git | 不内置.gitignore, .gitkeep |
-O, --skip-active-recode | 不内置active record |
-S, --skip-sprockets | 跳过sprockets文件 |
-d, --database=DATABASE | 数据库的种类 |
-j, --javascript=JAVASCRIPT | 指定内置Javascript类库。默认为jquery |
-J, --skip-javascript | 不内置javascript |
--dev | 用 github 存储器上自己的代码来创建 |
--edge | 用 github 存储器上的最新代码来创建 |
-T, --skip-test-unit | 不内置test::unit |
--old-style-hash | 将较旧的哈希形式(:foo => 'bar')有效化(Ruby1.9以上) |
-f, --force | 在文件存在的情况,覆盖 |
-p, --pretend | 干运行 |
-q, --quiet | 不显示进度信息 |
-s, --skip | 跳过已经存在的文件 |
-h, --help | 帮助 |
-v, --version | 显示版本 |
例
在最新的版本中创建应用程序
$ rails new weblog create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png create app/assets/javascripts/application.js create app/assets/stylesheets/application.css create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/mailers create app/models create app/views/layouts/application.html.erb create app/mailers/.gitkeep create app/models/.gitkeep create config create config/routes.rb create config/application.rb create config/environment.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/secret_token.rb create config/initializers/session_store.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create doc create doc/README_FOR_APP create lib create lib/tasks create lib/tasks/.gitkeep create lib/assets create lib/assets/.gitkeep create log create log/.gitkeep create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/index.html create public/robots.txt create script create script/rails create test/fixtures create test/fixtures/.gitkeep create test/functional create test/functional/.gitkeep create test/integration create test/integration/.gitkeep create test/unit create test/unit/.gitkeep create test/performance/browsing_test.rb create test/test_helper.rb create tmp/cache create tmp/cache/assets create vendor/assets/javascripts create vendor/assets/javascripts/.gitkeep create vendor/assets/stylesheets create vendor/assets/stylesheets/.gitkeep create vendor/plugins create vendor/plugins/.gitkeep run bundle install
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
集合创建为进行应用程序基本功能的一览(index)、详细(show)、新创建(new/create)、编辑(edit/update)、删除(destroy)所必要的控制器、模型、视图
使用方法
$ rails generate scaffold 名称 [列名:类型]
选项
选项 | 说明 |
---|
-r, -ruby=PATH | ruby二进制文件的路径 |
-b, --builder-BUILDER | 指定builder的路径 |
-m, -template=TAMPLATE | 模板的路径 |
--skip-gemfile | 不创建Grmfile |
--skip-bundle | 不进行bundle install |
-G, --skip-git | 不内置.gitignore, .gitkeep |
-O, --skip-active-recode | 不内置active record |
-S, --skip-sprockets | 跳过sprockets文件 |
-d, --database=DATABASE | 数据库的种类 |
-j, --javascript=JAVASCRIPT | 指定内置Javascript类库。默认为jquery |
-J, --skip-javascript | 不内置javascript |
--dev | 用 github 存储器上自己的代码来创建 |
--edge | 用 github 存储器上的最新代码来创建 |
-T, --skip-test-unit | 不内置test::unit |
--old-style-hash | 将较旧的哈希形式(:foo => 'bar')有效化(Ruby1.9以上) |
-f, --force | 在文件存在的情况,覆盖 |
-p, --pretend | 干运行 |
-q, --quiet | 不显示进度信息 |
-s, --skip | 跳过已经存在的文件 |
-h, --help | 帮助 |
-v, --version | 显示版本 |
列的类型
データ方 | 说明 |
---|
string | 字符串 |
text | 长字符串 |
integer | 整数 |
float | 浮点数 |
decimal | 高精度小数 |
datetime | 日期时间 |
timestamp | 更精细的日期时间 |
time | 时间 |
date | 日期 |
binary | 二进制数据 |
boolean | Boolean类型 |
创建的文件
文件 | 说明 |
---|
db/migrate/YYYYMMDDHHMMSS_create_XXXs.rb | 迁移文件 |
app/assets/javascripts/XXXs.js.coffee | 模型特有的CoffeeScript |
app/assets/stylesheets/XXXs.css.scss | 模型特有的SCSS样式表 |
app/assets/stylesheets/scaffolds.css.scss | Scaffold通用的SCSS样式表 |
app/controllers/XXXs_controller.rb | 控制器文件 |
app/views/XXXs/index.html.erb | 显示全部的列表 |
app/views/XXXs/edit.html.erb | 编辑文件 |
app/views/XXXs/show.html.erb | 详细页面 |
app/views/XXXs/new.html.erb | 新建页面 |
app/views/XXXs/_form.html.erb | 表单用页面 |
app/models/XXX.rb | 模型文件 |
app/helpers/XXXs_helper.rb | 助手 |
test/functional/XXXs_controller_test.rb | 控制器用测试文件 |
test/unit/XXX_test.rb | 模型用测试文件 |
test/fixtures/XXXs.yml | fixture文件 |
test/unit/helpers/XXXs_helper_test.rb | 测试用 |
public/stylesheets/scaffold.css | 默认的样式表 |
例
$ rails generate scaffold page name:string title:string invoke active_record create db/migrate/YYYYMMDDHHMMSS_create_pages.rb create app/models/page.rb invoke test_unit create test/unit/page_test.rb create test/fixtures/pages.yml route resources :pages invoke scaffold_controller create app/controllers/pages_controller.rb invoke erb create app/views/pages create app/views/pages/index.html.erb create app/views/pages/edit.html.erb create app/views/pages/show.html.erb create app/views/pages/new.html.erb create app/views/pages/_form.html.erb invoke test_unit create test/functional/pages_controller_test.rb invoke helper create app/helpers/pages_helper.rb invoke test_unit create test/unit/helpers/pages_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/pages.js.coffee invoke scss create app/assets/stylesheets/pages.css.scss invoke scss create app/assets/stylesheets/scaffolds.css.scss
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
创建模型
适用方法
$ rails generate model 名称 [列名:类型] [选项]
选项
选项 | 说明 | 默认 |
---|
--skip-namespace | 跳过命名空间 | |
--old-style-hash | 适用较旧的哈希形式 | |
-o, -orm=名称 | 指定适用的O/R映射 | active_record |
--migration | 是否创建迁移文件 | true |
--timestamps | | true |
--parent=名称 | | |
--indexes | | true |
-t, --test-frameword=名称 | 指定使用的测试框架 | test_unit |
--fixtures | 是否创建fixture | true |
-r, --fixture-replacement=名称 | 变更fixture | |
-f, --force | 文件已经存在的情况将其覆盖 | |
-q, --quiet | 不显示输出结果 | |
-p, --pretend | 干运行 | |
-s, --skip | 文件已经存在的情况跳过 | |
-h, --help | 显示帮助 | |
| | |
列的类型
数据方法 | 说明 |
---|
string | 字符串 |
text | 长字符串 |
integer | 整数 |
float | 浮点数 |
decimal | 精度更高的小数 |
datetime | 日期时间 |
timestamp | 更精细的日期时间 |
time | 时间 |
date | 日期 |
binary | 二进制数据 |
boolean | Boolean类型 |
例
user模型的创建
$ rails generate model user invoke active_record create db/migrate/YYYYMMDDHHMMSS_create_users.rb create app/models/user.rb invoke test_unit create test/unit/user_test.rb create test/fixtures/users.yml
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
创建迁移文件(进行表定义的创建・变更的文件)
特征
- 一定包含有up方法和down方法
- 在self.up有migration的版本时运行
- 在self.down有がmigration的版本时运行
- 将类名全部变为小写字母,但有必要与文件名下划线(_)之后的相一致
使用方法
$ rails generate migration 名称 [列名:类型] [选项]
选项
选项 | 说明 | 默认 |
---|
--skip-namespace | 跳过命名空间 | |
--old-style-hash | 使用较旧的哈希形式 | |
-o, -orm=名称 | 指定使用的O/R映射 | active_record |
-f, --force | 文件已经存在的情况将其覆盖 | |
-q, --quiet | 不显示输出结果 | |
-p, --pretend | 干运行 | |
-s, --skip | 文件已经存在的情况跳过 | |
-h, --help | 显示帮助 | |
列的类型
数据方面 | 说明 |
---|
string | 字符串 |
text | 长字符串 |
integer | 整数 |
float | 浮点数 |
decimal | 精度较高的小数 |
datetime | 日期时间 |
timestamp | 更精细的日期时间 |
time | 时间 |
date | 日期 |
binary | 二进制数据 |
boolean | Boolean类型 |
创建的文件的基本结构
class 迁移名s < ActiveRecord::Migration def up end def down end end
例
基本的使用方法
$ rails generate migration Page invoke active_record create db/migrate/20120421134507_page.rb
指定列来创建
$ rails generate migration AddTitleToPage title:string invoke active_record create db/migrate/20120421134409_add_title_to_page.rb
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
创建控制器和视图
使用方法
$ rails generate controller 名称 [动作名称...]
选项
选项 | 说明 | 初始值 |
---|
--skip-namespace | 跳过命名空间 | |
--old-style-hash | 使用较旧的哈希形式 | |
-e, --template-engine=NAME | 指定使用的模板引擎 | erb |
-t, --test-framework=NAME | 指定适用的测试框架 | test_unit |
--helper | 是否创建助手 | true |
--assets | 时候创建资源 | true |
-f, --force | 文件已经存在的情况将其覆盖 | |
-p, --pretend | 干运行 | |
-q, --quiet | 不显示输出结果 | |
-s, --skip | 文件已经存在的情况跳过 | |
-h, --help | 显示帮助 | |
例
基本的使用方法
$ rails generate controller Page create app/controllers/page_controller.rb invoke erb create app/views/page invoke test_unit create test/functional/page_controller_test.rb invoke helper create app/helpers/page_helper.rb invoke test_unit create test/unit/helpers/page_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/page.js.coffee invoke scss create app/assets/stylesheets/page.css.scss
也创建动作和视图
$ rails generate controller page title create app/controllers/page_controller.rb route get "page/title" invoke erb create app/views/page create app/views/page/title.html.erb invoke test_unit create test/functional/page_controller_test.rb invoke helper create app/helpers/page_helper.rb invoke test_unit create test/unit/helpers/page_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/page.js.coffee invoke scss create app/assets/stylesheets/page.css.scss
创建分层化了的控制器
$ rails generate controller 'admin/page' create app/controllers/admin/page_controller.rb invoke erb create app/views/admin/page invoke test_unit create test/functional/admin/page_controller_test.rb invoke helper create app/helpers/admin/page_helper.rb invoke test_unit create test/unit/helpers/admin/page_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/admin/page.js.coffee invoke scss create app/assets/stylesheets/admin/page.css.scss
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
将在Rails自带的WEBrick作为服务器启动
使用方法
$ rails server [选项]
选项
选项 | 说明 | 初始值 |
---|
-p, --port=port | 指定启动服务时的端口号 | 3000 |
-b, --binding=ip | 指定绑定的IP地址 | 0.0.0.0 |
-c, --config=file | 指定rackup文件 | |
-d, --daemon | 作为daemon启动服务器 | |
-u, --debugger | ruby-debugging | |
-e, --environment=name | 指定环境(test/development/production)启动服务器 | development |
-P, --pid=pid | 指定PID文件 | tmp/pids/server.pid |
-h, --help | 显示帮助 | |
例
启动开发用WEB服务器
$ rails server => Booting WEBrick => Rails 3.0.7 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server
变更端口号
$ rails server --p=3001
作为daemon启动
$ rails server --d
正式启动
$ rails server -e production
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
安装插件
使用方法
$ rails plugin install [插件名/github的URL] [选项]
选项
选项 | 说明 |
---|
-x, --externals | 指定取得插件的svn |
-o, --checkout | 指定插件取得的svn checkout |
-e, --export | 指定取得插件的svn export |
-q, --quiet | 不显示输出结果 |
-r, --revision REVISION | 指定checkout的修订号 |
-f, --force | 文件存在时,覆盖 |
-h, --help | 显示帮助 |
例
安装插件
$ rails plugin install continuous_builder asset_timestamping
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
删除在rails generate自动创建的文件
使用方法
$ rails destroy 创建的文件种类[删除的文件名] [选项]
创建的文件的种类
- controller
- generator
- helper
- integration_test
- mailer
- migration
- model
- observer
- performance_test
- plugin
- resource
- scaffold
- scaffold_controller
- session_migration
- stylesheets
选项
选项 | 说明 |
---|
-h, --help | 显示帮助 |
-p, --pretend | 干运行 |
-f, --force | 文件已经存在的情况将其覆盖 |
-s, --skip | 文件已经存在的情况跳过 |
-q, --quiet | 不显示输出结果 |
例
删除hello的控制器
$ rails destroy controller hello
删除迁移文件
$ rails destroy migration AddSslFlag notempty db/migrate notempty db rm db/migrate/20101030171223_add_ssl_flag.rb
安装插件
$ rails plugin remove continuous_builder
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
启动控制台
使用方法
$ rails console [环境(test/development/production)] [选项]
选项
选项 | 说明 |
---|
-s, -sandbox | 在终止时回滚关于数据库的变更 |
-debugger | 在调试模式启动 |
-irb | irb |
-h, --help | ヘルプ |
例
启动控制台
$ rails console Loading development environment (Rails x.x.x) irb(main):001:0>
在production环境启动控制台
$ rails console production Loading production environment (Rails x.x.x) irb(main):001:0>
在控制台显示SQL的输出
$ rails console irb(main):001:0> ActiveRecord::Base.logger = Logger.new(STDOUT)
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
启动控制台
使用方法
$ rails dbconsole [环境(development, text, production)]
例
基本的使用方法
$ rails dbconsole
适用版本
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
说明
在Rails环境中运行的批处理
使用方法
$ rails runner 运行的代码 [选项]
选项
选项 | 说明 |
---|
-e | 指定环境((test/development/production) |
-h, --help | 帮助 |