最佳答案
既然 Rails 3测试版已经发布了,我想我应该重写一下我刚开始编写的 Rails 3测试版的应用程序,这样既可以感受一下,又可以提前一些。该应用程序的所有模型都使用 MongoDB 和 MongoMapper,因此不需要 ActiveRecord。在前一个版本中,我通过以下方式卸载 activerrecord:
config.frameworks -= [ :active_record ] # inside environment.rb
在最新版本中,这种方法不起作用——它只是抛出一个错误:
/Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in
`frameworks': config.frameworks in no longer supported. See the generated
config/boot.rb for steps on how to limit the frameworks that will be loaded
(RuntimeError)
from *snip*
当然,我已经按照建议查看了 boot.rb,但就我所知,这里没有关于如何卸载 AR 的线索。我需要这样做的原因不仅是因为装载我不想要的东西是愚蠢的,而且它抱怨它无法建立一个 DB 连接,即使我尝试为控制器运行一个生成器。这是因为我清除了 database.yml
,并将其替换为 MongoDB 的连接详细信息,以便使用 这个要点来使用 datase.yml 来处理 MongoDB 的连接详细信息。不知道为什么它需要能够启动一个 DB 连接,只是为了生成一个控制器..。
有人知道正确的 Rails 3做这件事的方法吗?