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

  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被用来配置数据库链接你会发现它包括 3个配置节每个配置节都以环境名字开始后面紧跟个冒号下面行必须缩进内容时key和对应两者的间用冒号隔开最少情况下每个配置节必须指定个数据库适配器(database adapter)和使用数据库诸如MysqlPostgres等等数据库适配器有自己特定配置完整列表我们将在后面列出来下面时我们目前depotdatabase.yml文件:

development:
 adapter: mysql
 database: depot_development
 username:
 password:
 host: localhost
# Warning: The database d as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not 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


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

# Change the following line to po 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并不依赖于具体环境第 2个文件依赖于环境Rails根据当前环境名在config/environment目录里查找对应文件并且在处理environment.rb时候加载这个文件标准 3种环境作为默认配置已经包含了我们可以在config/environment目录下看到 3个文件:development.rbproduction.rbtest.rb如果有特殊环境要求我们可以在这里添加配置文件

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

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

  创建所用到些资源比如Log

  提供组配置设置不但时给Rails也是给我们

  4.    加载路径(Load Path)

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



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

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

  目录appapp/modelsapp/controllersapp/helpersapp/apiscomponentsconfiglibvendor和vendor/Rails/*

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

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

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

  6.    配置参数(Configuration Parameters)

  对于Action ControllerAction PackAction MailerTest Case等有些特殊配置在书上附录B这部分我想就放到后面研究每个主题时在学习吧



Tags:  rubyonrails安装 rubyrails rubyonrails教程 rubyonrails

延伸阅读

最新评论

发表评论