我在翻译 Rails Guides 的时候,发现有些配置挺有意思的. 在这里列出来,并说下我觉得有意思的点。
这个参数是设置错误信息中是否带有详细的调试信息。在开发和测试环境的默认开启的。 生产环境当然就不开启。但如果在生产环境中我们不得查看某些错误的详细调试信息, 怎么办?Guides 有顺带说道方法:
在 controller 里面实现
local_request?
方法。 这样就可以指定哪些请求会显示详细的调试信息。
具体怎么实现嘛,Guides 就没有说了。
这个参数用于指定资源主机,负载比较重的应用很多时候会用单独的服务器 (群) 来管理静态数据。所以,可以在这里指定地址。更有意思 的是,Guides 提到了另一个关于加速应用程序的方法 (我从来都不知道.)
when you want to work around the concurrency constraints builtin in browsers using different domain aliases
我的理解是:如果你想用多个域名别名来解决 浏览器内建对多线程并发的限制,你可以配置这个参数解决。 看到加粗部分后,我就猜测:浏览器分配给同一个域名的线程数有限,这样就降低了 应用访问的速度。
在翻译的时候,我发现很多配置会有关联,冲突或者合作。 感觉到了关联配置可能导致怪异问题. 这里简单整理下今天翻译到的。
冲突用 ✖ 隔开, 合作的用 ♥
* config.autoload_once_paths ♥ config.cache_classes
前者在后者为 false 的时候失效.
* config.action_view.cache_template_loading ♥ config.cache_classes
前者的默认值是后者设置的任何值.
* config.dependency_loading ♥ config.cache_classes
前者在后者为 true 的时候有效。
* config.dependency_loading ✖ config.threadsafe!
使用后者会让前者变为 false.
* config.file_watcher ♥ config.reload_classes_only_on_change
后者为 true 的时候才有效
* config.preload_frameworks ♥ config.threadsafe!
激活后者的同时会激活前者。
* config.reload_classes_only_on_change ✖ config.cache_classes
后者为 true 的时候,前者会被忽略,即无效.
看着有点乱,有时间弄个关系图谱。:)
好吧...今天就干了这些。