`

rails 配置详解

阅读更多

 

配置文件(config)

 

在Rails中,可以根据config/下的配置文件变更设定。

 

以「config.参数名 = 值」的形式设定

为了反映配置,有必要重启服务器

字符编码为UTF-8

主要的配置文件

--------------------------------------------

说明

application.rb 在所有的环境中通用的配置文件

environment/ 存储每个环境的配置文件的目录

development.rb 在开发环境中的配置文件

test.rb 测试环境中的配置文件

production.rb 在生产环境中的配置文件

initializers/ 存储其他初始化处理和配置信息等的目录

infiections.rb 

mime_types.rb 在应用程序中可以利用的内容类型

secret_token.rb 为给cookie署名的标记信息

session_store.rb 为保存session的配置文件

locales/ 存储为对应国际化资源文件的目录

 

--------------------------------------------

数据库的配置文件(database.yml)

 

描述了在Rails中使用的数据库的配置

用YAML的形式描述

开发(development)、测试(test)、生产(production)3个环境

编辑可以连接的数据库

 

DB2

Firebird

Frontbase

MySQL

Openbase

Oracle

PostgreSQL

SQLite

SQL Server

Sybase

SQLite3

 

配置项目

adapter 连接的数据库种类 sqlite3

database 到数据库文件的路径 db/环境名.sqlite3

pool 连接的pool数 5

timeout 超时时间 5000

 

development:   adapter: sqlite3   database: db/development.sqlite3   timeout: 5000  test:   adapter: sqlite3   database: db/test.sqlite3   timeout: 5000  production:   adapter: sqlite3   database: db/production.sqlite3   timeout: 5000

MySQL

 

配置项目

 

adapter 连接的数据库种类 mysql2

database 连接目标的数据库名 db/应用程序名_环境名

host 连接目标的服务器名或者IP地址。指定socket的情况下无效 localhost

post 连接目标的端口号。指定了socket的情况下无效 3306

socket Unix套接字的路径 /tmp/mysql.sock

username 连接到数据库的用户名 root

password 连接到DB的密码

encoding 明确的指定字符编码 utf8

pool 连接的pool数 5

timeout 超时时间 false

 

--------------------------------------------

应用程序类的刷新配置(cache_classes)

 

每次访问时是否刷新应用程序类

不刷新(缓存类)

cache_classes = true

刷新

cache_classes = false

 

默认的配置

development cache_classes = false

test cache_classes = false

production cache_classes = true

 

--------------------------------------------

缓冲保存目标的配置(cache_store)

 

config.cache_store = 保存目标

保存到memcached

config.cache_store = :mem_cache_store

对日志文件不添加颜色(colorize_logging)

 

保存到redis

 

  config.gem "redis-store", :lib => "redis-store"

  require "redis-store" # HACK

  config.cache_store = :redis_store

 

--------------------------------------------

 

对日志文件不添加颜色

config.active_record.colorize_logging = false

 

--------------------------------------------

变为自动载入对象的路径指定(autoload_paths)

 

--------------------------------------------

从Rails3 开始autoload_paths的配置默认变为无效。

config.autoload_paths += %W(#{config.root}/目录名)

 

 

自动读取/lib文件以下的

config.autoload_paths += %W(#{config.root}/lib)

停止时间戳记的自动保存(record_timestamps)

 

--------------------------------------------

 

在网站名称等的应用程序中将通用的名称作为变量配置

config/application.rb module 模块名 class Application < Rails::Application config.变量名 = 值

module Mysite class Application < Rails::Application config.title = "网站的名称"

 

--------------------------------------------

Mysite::Application.config.title

日志等级(log_leval)

 

信息

config.log_leval = :info

调试

config.log_leval = :debug

默认的配置

 

环境 配置

development log_leval = :debug

test log_leval = :debug

production log_leval = :info

日志的输出目标(log_path)

 

--------------------------------------------

日志的输出目标

config.log_path = <日志的输出目标>

默认的配置

 

环境 配置

development log_path = log/#{environment}.log

test log_path = log/#{environment}.log

production log_path = log/#{environment}.log

 

--------------------------------------------

 

为了对应国际化的默认语言环境

i18n.default_locale = :en

config.i18n.fallbacks = true

 

--------------------------------------------

对日志文件不输出参数信息(config.filter_parameters)

onfig.filter_parameters += [参数]

 

Search: config.filter_parameters - GitHub

 

-------------------------------------------

对JavaScripts、stylesheets等静态文件服务器

config.action_controller.asset_host=“asset server”

 

-------------------------------------------

对JavaScripts、stylesheets等静态文件压缩(默认application.js  application.css)

config.assets.precompile +=%w( application.js application.css  bootstrap.min.css jquery-ui.css html5.js  )

 

------------------------------------------

邮件服务器的配置 

 config.action_mailer.default_url_options = {:host => 'http://XXXXX.com'}

 config.action_mailer.delivery_method = :smtp

 config.action_mailer.smtp_settings = {

      :address => 'localhost',

      :port => 25,

      :domain => 'XXXX.com',

      :openssl_verify_mode  => 'none'

  }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics