我可以在Rails 3中以编程方式更改config.cache_classes吗?

ily*_*lya 5 ruby caching ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

我有一些针对我的开发rails服务器运行的iPhone客户端测试.如果我在Rails配置中启用类缓存,整个套件的运行速度会快一个数量级.另一方面,当我没有实际运行测试时,这会减慢开发速度.

我希望测试套件在开始时执行操作以打开类缓存,并在最后再执行另一个操作以再次关闭类缓存.

这甚至可能吗?如果是这样,怎么样?

Mat*_*udy 0

我不认为按照你的建议去做会起作用。

但我建议您可能正在寻找错误的解决方案。

如果您想要从 iPhone 测试中访问您的开发数据库,​​那么为什么不添加一个新环境呢。

添加新文件 config/environments/iphone_dev.rb

require File.dirname(__FILE__)+"/development.rb"
config.cache_classes = true
Run Code Online (Sandbox Code Playgroud)

在您的database.yml(或mongoid.yml或其他)中

iphone_dev:
  host: localhost
  database: my_app_development
Run Code Online (Sandbox Code Playgroud)

数据库没有理由不能相同

现在只需运行rails server -eiphone_dev -p3001

您应该有一个服务器,几乎与您的开发服务器相同,但在不同的端口上运行,并启用了缓存。