Rails 3 – 我怎样才能完全避免数据库?

我试图使用没有任何数据库后端的轨3,但它仍然坚持要求'sqlite3'gem,当我尝试访问一个页面,并引发错误no such file to load -- sqlite3 ,即使没有代码在应用程序需要sqlite,除了离开database.yml默认设置为sqlite3,因为删除内容引发了其他错误。 任何想法如何我可以使用rails没有任何数据库,并避免说错误? 谢谢。

(另外,我对Sinatra很熟悉 – 只是喜欢这个项目的rails)。

Rails 3:

application.rb ,删除require 'rails/all'行,而是添加这些行:

 require "action_controller/railtie" require "action_mailer/railtie" require "active_resource/railtie" require "rails/test_unit/railtie" require "sprockets/railtie" 

另请参阅在Rails 3中删除ActiveRecord并查看Active Model railscast

Rails 3.2.x:

你还需要在application.rb中删除/注释掉这一行

 config.active_record.whitelist_attributes = true 

并从development.rb中删除/注释这两行

 config.active_record.mass_assignment_sanitizer = :strict config.active_record.auto_explain_threshold_in_seconds = 0.5 

Rails 2.x:

config/environment.rb添加(或取消注释)该行

 config.frameworks -= [ :active_record, :active_resource, :action_mailer ] 

这将导致Rails不使用这些框架。 (注意几乎不可见-= !)

另外,在Rails 3中,删除任何对active_record的引用

configuration/环境/ development.rb

config / environments / test.rb和

config / environments / production.rb等

 config.active_record.mass_assignment_sanitizer = :strict config.active_record.auto_explain_threshold_in_seconds = 0.5 

以及在注释21(上面)中删除require“rails / all”并添加require行。

如果你没有使用数据库(这与Rails 3.1.1一起工作)