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一起工作)