2010-10-17 13 views
45

Sto provando a utilizzare i binari 3 senza alcun backb db, ma ancora insiste nel richiedere gemma 'sqlite3' quando provo ad accedere a una pagina, e genera un errore no such file to load -- sqlite3, anche se nell'applicazione non è richiesto il codice sqlite, eccetto Ho lasciato database.yml con le sue impostazioni predefinite per sqlite3, poiché la rimozione del contenuto ha generato altri errori. Qualche idea su come utilizzare i binari senza alcun database ed evitare errori? Grazie.Rails 3 - come evitare del tutto il database?

(inoltre, ho familiarità con Sinatra - preferisco i binari per questo progetto).

risposta

98

Rails 3:

In application.rb, rimuovere la riga require 'rails/all' e invece aggiungere queste righe:

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

anche vedere Remove ActiveRecord in Rails 3 ed esaminare la Railscast

Rails 3.2.x Active Model:

Avrai anche bisogno di rimuovere/com ment fuori questa linea in application.rb

config.active_record.whitelist_attributes = true 

E rimuovere/commentare queste due linee da 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 aggiungere (o decommentare) la linea

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

Ciò causerà che Rails non utilizzi tali framework. (Si noti la quasi-invisibile -=!)

+0

Penso che questo funziona in Rails 2.x - ricevo un messaggio deprecazione e un errore in R3. – sa125

+0

Aggiornamento della risposta con il metodo utilizzato in Rails 3 – Zabba

+0

che lo ha fatto - grazie! – sa125

10

Inoltre, in Rails 3, rimuovere tutti i riferimenti a active_record in

config/ambienti/development.rb

config/ambienti/test.rb e

config/ambienti/production.rb come

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

così come la rimozione richiedono "rails/all" e aggiungendo la richiedono linee in commento 21 (sopra).

se non si utilizza un database (questo funziona con Rails 3.1.1)

Problemi correlati