Skip to main content
 首页 » 编程设计

ruby-on-rails-3之Rails 3之如何完全避免数据库

2024年06月20日16jackei

我尝试在没有任何数据库后端的情况下使用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 不使用这些框架。 (请注意几乎看不见的 -=!)