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