2010-10-17 20 views
45

Estoy intentando usar rails 3 sin ningún back-end de db, pero aún insiste en requerir la gema 'sqlite3' cuando intento acceder a una página, y arroja un error no such file to load -- sqlite3, aunque ningún código de la aplicación requiere sqlite, excepto Dejé database.yml con su configuración predeterminada para sqlite3, ya que la eliminación del contenido provocó otros errores. ¿Alguna idea de cómo podría usar los rieles sin ninguna base de datos y evitar dichos errores? Gracias.Rails 3 - ¿Cómo evito la base de datos por completo?

(también estoy familiarizado con Sinatra, solo prefiero los rieles para este proyecto).

Respuesta

98

Rails 3:

En application.rb, quitar la línea require 'rails/all' y en lugar de añadir estas líneas:

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

Véase también Remove ActiveRecord in Rails 3 y mirar hacia el Active Model Railscast 3.2.x

Rieles:

También deberá eliminar/com ment a cabo esta línea en application.rb

config.active_record.whitelist_attributes = true 

Y quitar/comentar estas dos líneas de development.rb

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

rieles 2.x:

En config/environment.rb complemento (o descomentar) del línea

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

Esto hará que Rails no use esos marcos. (Tenga en cuenta la casi invisible -=!)

+0

Creo que esto funciona en los carriles 2.x - me sale un mensaje de desaprobación y un error en R3. – sa125

+0

Actualizó la respuesta con el método utilizado en Rails 3 – Zabba

+0

que lo hizo, ¡gracias! – sa125

10

Además, en los carriles 3, remover cualquier referencia a active_record en

config/ambientes/development.rb

config/ambientes/test.rb y

config/ambientes/production.rb como

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

así como la eliminación requieren "rieles/ALL" y la adición de las líneas en requieren comentario 21 (arriba).

si usted no está utilizando una base de datos (esto funciona con Rails 3.1.1)

Cuestiones relacionadas