rails文檔

rails命令(rails)

創建應用程序(rails new)

適用版本

  • 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 

集合創建對應用程序必要的控制器、模型、視圖(rails generate scaffold)

適用版本

  • 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

創建模型(rails generate model)

適用版本

  • 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

創建migration(rails generate migration)

適用版本

  • 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

創建控制器(rails generate controller)

適用版本

  • 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

在本地啓動服務器(rails server)

適用版本

  • 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

安裝插件(rails plugin 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

說明

安裝插件

使用方法

$ 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

刪除自動創建的文件(rails destroy)

適用版本

  • 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

啓動控制檯(rails console)

適用版本

  • 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)

啓動數據庫客戶端(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 dbconsole [環境(development, text, production)]

基本的使用方法
$ rails dbconsole

Rails環境中運行的批處理(rails runner)

適用版本

  • 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 幫助
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章