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