2010-10-17 13 views
45

Herhangi bir db arka ucunu kullanmadan rayları 3 kullanmaya çalışıyorum, ancak hala bir sayfaya erişmeye çalıştığımda 'sqlite3' gemine gereksinim duymakta ısrar ediyor ve uygulamada hiçbir kod sqlite gerektirmiyor olsa bile no such file to load -- sqlite3 hatası veriyor İçerik yükseltilmiş diğer hataları kaldırdığından beri sqlite3 için varsayılan ayarı ile database.yml yaptı. Herhangi bir veritabanı olmadan rayları nasıl kullanabileceğimi ve bu hataları nasıl önleyebileceğimi biliyor musunuz? Teşekkürler.Raylar 3 - veritabanını tamamen nasıl önleyebilirim?

(Ayrıca, Sinatra'yı da tanıyorum - sadece bu proje için rayları tercih ediyorum).

cevap

98

Raylar 3:

application.rb yılında

, require 'rails/all' hattını kaldırmak ve bunun yerine şu satırları ekleyin:

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

Ayrıca Remove ActiveRecord in Rails 3 görmek ve Active Model railscast

Raylar 3.2.x içine bakmak:

Ayrıca kaldırmanız gerekir/com

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

Raylar 2.x development.rb gelen bu iki satırı yorum/application.rb

config.active_record.whitelist_attributes = true 

dışarı bu çizgiyi ment Ve kaldırın:

eklenti (veya yorumsuz) config/environment.rb yılında satır

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

Bu, Rayların bu çerçeveleri kullanmamasına neden olur. , Ruby 3'te,

+0

bu raylar 2.x çalışır düşünüyorum kullanmıyorsanız - Bir kullanımdan kaldırılması mesajı ve r3 bir hata olsun. – sa125

+0

Yanıtı, bunu yapan Rails 3 – Zabba

+0

'da kullanılan yöntemle güncellendi - teşekkürler! – sa125

10

da (! -= yaklaşık-görünmez Not)

yapılandırmasında active_record herhangi bir referans/kaldırma ortamlar/development.rb

yapılandırma/ortamlar/test.rb ve

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

yanı sıra kaldırma "raylar/hepsi" ve satırları gerektiren ekleyerek gerektiren gibi

config/ortamlar/production.rb yorum 21 (yukarıda).

bir veritabanı (bu Rails 3.1.1 ile çalışır)