2010-10-17 5 views
45

Ich versuche, Rails 3 ohne jedes db-Backend zu verwenden, aber es besteht immer noch auf 'sqlite3' Edelstein, wenn ich versuche, auf eine Seite zuzugreifen, und wirft einen Fehler no such file to load -- sqlite3, obwohl kein Code in der Anwendung erfordert sqlite, außer Ich habe database.yml mit der Standardeinstellung für sqlite3 verlassen, da das Entfernen des Inhalts andere Fehler verursacht hat. Irgendeine Idee, wie ich Schienen ohne irgendeine Datenbank benutzen und diese Fehler vermeiden könnte? Vielen Dank.Rails 3 - Wie vermeide ich Datenbank insgesamt?

(auch ich bin vertraut mit Sinatra - nur Schienen für dieses Projekt bevorzugen).

Antwort

98

Rails 3:

In application.rb, entfernen Sie die require 'rails/all' Linie und fügen Sie stattdessen die folgenden Zeilen:

require "action_controller/railtie" 
require "action_mailer/railtie" 
require "active_resource/railtie" 
require "rails/test_unit/railtie" 
require "sprockets/railtie" 

Auch Remove ActiveRecord in Rails 3 und schauen in die Active Model Railscast

Rails 3.2.x finden Sie unter:

Sie müssen auch/com entfernen ment aus dieser Linie in application.rb

config.active_record.whitelist_attributes = true 

Und entfernen/kommentieren Sie diese beiden Zeilen von development.rb

config.active_record.mass_assignment_sanitizer = :strict 
config.active_record.auto_explain_threshold_in_seconds = 0.5 

Rails 2.x:

In config/environment.rb add (oder uncomment) die Zeile

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

Dies wird dazu führen, dass Rails diese Frameworks nicht verwenden. (Man beachte die fast unsichtbare -=!)

+0

Ich denke, das funktioniert in Schienen 2.x - ich bekomme eine deprecation Nachricht und einen Fehler in r3. – sa125

+0

Aktualisiert die Antwort mit der in Rails 3 – Zabba

+0

verwendeten Methode, die es getan hat - danke! – sa125

10

Auch in Rails 3, entfernen Sie alle Verweise in

config active_record/Umgebungen/development.rb

config/Umgebungen/test.rb und

config/Umgebungen/production.rb wie

config.active_record.mass_assignment_sanitizer = :strict 
config.active_record.auto_explain_threshold_in_seconds = 0.5 

sowie Entfernen erfordern „Schienen/alle“ und das Hinzufügen der Linien erfordern in Kommentar 21 (oben).

wenn Sie nicht eine Datenbank (dies funktioniert mit Rails 3.1.1)

Verwandte Themen