Rails 框架中的中初始化代码 config/application.rb。想在Rails 前运行代码,可以把代码添加到config/application.rb 文件的require ‘rails/all’之前。总体上来说设置Rails 的工作包括设置Rails 的组件以及Rails 本身。
设置Rails 组件的常规配置:Rails::Railtie 对象上调用,例如Rails::Engine 或者Rails::Application 的子类
1.config.after_initialize :接受一个代码块。初始化的过程包括框架本身,引擎,以及
config/initializers 文件夹中所有的初始化脚本。注意,Rake 任务也会执行代码块中的代码
2.config.asset_host :设置静态资源的主机。可用于设置静态资源所用的CDN ,或者通过不同的域名绕过浏览器对并发请求数量的限制
3.config.autoload_once_paths:一个由路劲组成的数组,Rails 从这些路径中自动加载常量,且在多次请求之间一直可用。只有config.cache_classes 为false才有效。如果为true,所有自动加载的代码每次请求时都会重新加载。这个数组中的路径必须出现在autoload_path 设置中。默认为空数组。
4.config.autoload_paths: 一个由路径组成的数组,Rails 从这些路径中自动加载常量。默认为app文件夹中的所有子文件夹
5.config.cache_classes: 决定程序中的类和模块在每次请求中是否要重新加载。在开发环境中默认值是false,在测试环境和生成环境中默认值是true
6.config.cache_store:设置Rails缓存的存储方式。可选值有::memory_store :file_store.如果文件夹tmp/cache 存在 ,默认值为:file_store
否则为:memory_store
7.config.console : 设置执行 rails console 命令 时使用哪个类实现控制台
8.congfig.encoding :设置程序全局编码 ,默认为UTF-8
9.config.force_ssl :强制所有请求使用HTTPS 协议,通过ActionDispatch::SSL中间件实现
10.config.log_formatter: 设置Rails日志的格式化工具。在生产环境中默认为Logger::Formatter,其他环境默认值为:ActiveSupport::Logger::SimpleFormatter
11.config.log_level :设置Rails 日志等级。在生产环境默认为:info 其他环境默认值为:debug
12. secrets.secret_key_base : 指定一个密令,和已知的安全密令对比,防止篡改会话,新建程序时会生成一个随机密令,保存在文件config/secrets.yml中。
13.config.session_store : 一般在config/initializers/session_store.rb 文件中设置,:mem_cache_store 和:disabled .:disabled 指明不让Rails 处理会话。也可以自定义。
14:config.time_zone :设置程序中使用的默认时区,也让ActiveRecord 使用这个时区。
15:config.assets.enabled :设置是否启用Asset Pipeline .默认启用。
16. config.assets.raise_runtime_errors: 设为true ,启动额外的运行时错误检查。建议在config/environments/production.rb 中设置,这样可以净量减少部署到生产环境后异常表现。
17.config.assets.compress :是否压缩编译后的静态资源文件。在config/environments/production.rb 中为true
18. config.assets.css_compressor :设定使用CSS压缩程序。默认为sass-rails,目前,唯一可用的另一个值是:yui,使用yui-compressor gem 压缩文件
19. config.assets.precompile :指定执行rake assets:precompile 任务时除application.css 和application.js 之外要编译的其它资源文件。
设置生成器
Rails 允许使用config.generators 方法设置使用的生成器。这个方法接受一个代码块:
config.generators do |g|
g.orm :active_record
g.test_framwork :test_unit
end
代码块中可用的方法如下:
1.assets:是否允许脚手架创建静态资源文件,默认为true
2.force_plural: 是否允许使用复数形式的模型名。默认为false
3.helper :是否生成帮助方法文件,默认为true
4.intergration_tool :设置使用哪个集成工具,默认为nil
5.javascripts :是否允许脚手架创建JavaScript 文件,默认为true
6.javasript_engine :设置生成静态资源文件时使用的预处理引擎,默认为nil
7.orm :设置使用哪个ORM.默认为false 使用Active Record
8.resource_controller :设定执行 rails generate resource 命令时使用哪个生成器生成控制器,默认为:controller
9.template_engine :设置使用哪个模板引擎。例如ERB 或Haml ,默认为:erb
Rails 中的初始化
最新推荐文章于 2020-12-09 01:06:09 发布