rails文档

来源:互联网 发布:淘宝开店拍照软件 编辑:程序博客网 时间:2024/05/19 05:05

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=PATHruby二进制文件的路径-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=PATHruby二进制文件的路径-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二进制数据booleanBoolean类型

创建的文件

文件说明db/migrate/YYYYMMDDHHMMSS_create_XXXs.rb迁移文件app/assets/javascripts/XXXs.js.coffee模型特有的CoffeeScriptapp/assets/stylesheets/XXXs.css.scss模型特有的SCSS样式表app/assets/stylesheets/scaffolds.css.scssScaffold通用的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.ymlfixture文件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是否创建fixturetrue-r, --fixture-replacement=名称变更fixture -f, --force文件已经存在的情况将其覆盖 -q, --quiet不显示输出结果 -p, --pretend干运行 -s, --skip文件已经存在的情况跳过 -h, --help显示帮助    

列的类型

数据方法说明string字符串text长字符串integer整数float浮点数decimal精度更高的小数datetime日期时间timestamp更精细的日期时间time时间date日期binary二进制数据booleanBoolean类型

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二进制数据booleanBoolean类型

创建的文件的基本结构

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, --debuggerruby-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在调试模式启动-irbirb-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帮助
0 0