如何configuration没有数据库的Ruby on Rails?

将Ruby on Rails用于当前不需要数据库的小型网站项目将会很方便。 我知道我可以在MySQL中创build一个空的数据库,并从那里,但有没有人知道一个更好的方式来运行没有数据库的Rails?

谢谢

environment.rb文件中取消注释此行:

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

对于Rails 3Rails 4

使用-O--skip-activerecord ')或--skip-activerecord选项来生成没有数据库的应用程序。

rails new myApp -O

要么

rails new myApp --skip-activerecord

这个答案是从这里转载的


对于Rails 5

使用--skip-active-record选项来生成没有数据库的应用程序

注意额外的连字符“ – ”,而不是以前的Rails版本

rails new myApp --skip-active-record

对于现有的Rails 4/5项目,在你的config/application.rb文件中有以下行:

 require 'rails/all' 

(作为参考线正在加载此文件 )
因此,而不是加载所有,你必须分别加载每个库如下:

 # active_record is what we're not going to use it, so comment it "just in case" # require "active_record/railtie" # This is not loaded in rails/all but inside active_record so add it if # you want your models work as expected require "active_model/railtie" # And now the rest require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" require "active_job/railtie" # Only for Rails >= 4.2 require "action_cable/engine" # Only for Rails >= 5.0 require "active_storage/engine" # Only for Rails >= 5.2 require "sprockets/railtie" require "rails/test_unit/railtie" 

请留意这些评论,以了解关于您的Rails版本要加载的内容。 然后再评论以下几行:

 #config/environments/development.rb config.active_record.migration_error = :page_load #config/environments/production.rb config.active_record.dump_schema_after_migration = false #spec/rails_helper.rb ActiveRecord::Migration.maintain_test_schema! 

更新:请参阅' Rails 3 – 我如何完全避免数据库? '问题的最新的Rails 3做到这一点。

如果你不需要数据库,那么你可能不需要大量的Rails。 你可能需要一个更小的可定制的框架来处理。

Sinatra是一个很小的框架,非常适合提供基本的静态页面。

但是如果你坚持使用Rails ,那么这篇文章就会告诉你如何做到这一点或者在这里 。

在Rails 4开始一个新项目时,你可以使用-O或–skip-active-record

 rails new my_project -O rails new my_project --skip-active-record 

如果你已经创build了一个项目,你需要评论

  require "active_record/railtie" 

从config / application.rb和

  config.active_record.migration_error = :page_load 

从config / environments / development.rb