我尝试在没有任何数据库后端的情况下使用rails 3,但当我尝试访问页面时,它仍然坚持要求“sqlite3”gem,并抛出错误没有这样的文件来加载 -- sqlite3
,即使应用程序中没有代码需要 sqlite,但我将 database.yml 保留为 sqlite3 的默认设置,因为删除内容会引发其他错误。知道如何在没有任何数据库的情况下使用 Rails 并避免上述错误吗?谢谢。
(另外,我熟悉 Sinatra - 只是更喜欢这个项目的 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"
另请参阅Remove ActiveRecord in Rails 3 并查看 Active Model铁路广播
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 不使用这些框架。 (请注意几乎看不见的 -=
!)