【问题标题】:Rails 3 - how do I avoid database altogether?Rails 3 - 我如何完全避免数据库?
【发布时间】:2010-10-17 17:12:02
【问题描述】:

我正在尝试在没有任何 db 后端的情况下使用 rails 3,但是当我尝试访问页面时它仍然坚持需要“sqlite3”gem,并抛出错误no such file to load -- sqlite3,即使应用程序中没有代码需要sqlite,除了我将 database.yml 保留为 sqlite3 的默认设置,因为删除内容会引发其他错误。知道如何在没有任何数据库的情况下使用 rails 并避免上述错误吗?谢谢。

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

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

    轨道 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 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 2.x - 我在 r3 中收到一条弃用消息和一个错误。
    • 用 Rails 3 中使用的方法更新了答案
    • 在 Rails 3.1 和 3.2 中,您还需要遵循 Rod 回答中的建议,即删除 config/environments 文件中对 config.activerecord 的所有引用。
    • 最后我不需要config.frameworks -= [ :active_record, :active_resource, :action_mailer ]。我在 3.2.13,如果我做了其余的这些更改以及 Rod 的,它似乎工作得很好。谢谢!
    【解决方案2】:

    另外,在 Rails 3 中,删除所有对 active_record 的引用

    config/environments/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
    

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

    如果你没有使用数据库(这适用于 Rails 3.1.1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多