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 |
帮助
|