快速业务通道

Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件

时间:2011-12-03 博客园 Cure

Rails的运行时配置是由config目录下的文件来控制的。

1.运行时环境(Runtime environment)

当开发者编写代码时,需求是多中多样的。在开发中你可能会需要很多的登录,加载变化过的代码。在测试时,你需要各个系统之间是隔离开的。在发布之前,你可能需要进行性能优化,并且时用户远离bug。

为了支持这一切,Rials有运行时配置的概念。每一个环境都拥有自己的一组配置,可以在不同的环境中运行同一个应用程序。

切换运行环境可以使我们不用修改代码就可以从开发切换到测试再切换到发布。怎样指定运行环境呢?这取决于你怎样运行你的程序,如果你使用了script/server,并且使用了-e参数:

Depot > ruby script/server –e development |test| production

如果你使用apche或者lighttpd,就要设置RAILS_ENV的环境变量,我们在后面再介绍。

如果你有特殊的需求,你可以创建自己的环境(environment),你需要向数据库配置中添加自己的配置节,并且在config/environment文件夹中添加一个配置文件。

2.配置数据库链接

文件config/database.yml被用来配置数据库链接,你会发现它包括三个配置节,每个配置节都以环境名字开始,后面紧跟一个冒号。下面的行必须缩进,内容时key和对应的值,两者之间用冒号隔开。最少的情况下,每个配置节必须指定一个数据库适配器(database adapter)和使用的数据库,诸如Mysql,Postgres等等。数据库适配器有自己的特定的配置,完整的列表我们将在后面列出来。下面时我们目前depot程序的database.yml文件:

development:
 adapter: mysql
 database: depot_development
 username:
 password:
 host: localhost
# Warning: The database defined as ''test'' will be erased and
# re-generated from your development database when you run ''rake''.# Do not set this db to the same as development or production.test:
 adapter: mysql
 database: depot_test
 username:
 password:
 host: localhost
production:
 adapter: mysql
 database: depot_production
 username: root
 password: prod
 host: wibble

Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件(2)

时间:2011-12-03 博客园 Cure

如果你需要在不同的数据库上运行自己的程序,你需要有一组配置,如果仅仅是数据库链接有不同,你可以在database.yml中创建多个配置节,配置节的名字由环境名和数据库名字组成,并且在yaml文件中指定配置节,例如下面这样:

# Change the following line to point to the right database
development: development_sqlite
development_mysql:
adapter: mysql
database: depot_development
host: localhost
username:
password:
development_sqlite:
adapter: sqlite
dbfile: my_db

如果改变数据库的同时还改变了程序配置的其他地方,你可以在database.yml文件里创建多组配置,同时,还需要在environment目录下添加对应的文件。

3.环境(environment)

一个Rails程序的运行时配置(Runtime configuration)由两个文件完成,一个是config/environment.rb,并不依赖于具体环境。第二个文件依赖于环境,Rails根据当前的环境名在config/environment目录里查找对应的文件,并且在处理environment.rb的时候加载这个文件。标准的三种环境作为默认配置已经包含了,我们可以在config/environment目录下看到三个文件:development.rb,production.rb,test.rb,如果有特殊的环境要求,我们可以在这里添加配置文件。

典型的环境文件(Environment files)主要作下面的事情:

设置Ruby的加载路径,这样你的程序就知道到哪里加载Model或者View了。

创建程序所用到的一些资源,比如Log。

提供一组配置设置,不但时给Rails,也是给我们的程序。

4.加载路径(Load Path)

标准的配置环境下,会自动加载下面的目录到程序的加载路径(Load Path)中:

Test/mocks/environment,在这里定义的类会覆盖掉真正的版本,可以使我们在测试时使用一些桩代码,在前面我们已经介绍过。

App/model目录下所有以小写字母开头和包含有下划线的文件和组件。

目录app,app/models,app/controllers,app/helpers,app/apis,components,config,lib,vendor,和vendor/Rails/*。

5.程序范围内的资源(Application-wide Resource)

Environment.rb文件创建一个Logger来向log/environment.log文件中记录信息,并且设置这个logger给Active Record,Action Controller,Action Mailer,除非你的环境配置文件已经给这些部件设置了自己的Logger。

Enbironment.rb文件还告诉Action Controller和Action Mailer使用app/views作为查找模板(Template)时的开始点。同时,也可以被环境指定的配置(environment-specific configurations)所覆盖。

6.配置参数(Configuration Parameters)

对于Action Controller,Action Pack,Action Mailer,Test Case等有一些特殊的配置,在书上的附录B,这部分我想就放到后面研究每一个主题时在学习吧。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号