2012-03-04 12 views
7

मेरे पास mongoid, डेटाबेस_cleaner और rspec का उपयोग कर एक मौजूदा प्रोजेक्ट है। मैं active_admin patches available का उपयोग कर सक्रिय_एडमिन जोड़ने की कोशिश करता हूं। ActiveAdmin मानता है कि यह एक ActiveRecord प्रोजेक्ट में है, विशेष रूप से meta_search मणि ​​पर निर्भरता के माध्यम से।डेटाबेस_क्लानेर का उपयोग करके, मैंगॉइड और सक्रिय_एडमिन सक्रिय रेकॉर्ड :: कनेक्शन कनेक्शन के साथ चश्मा विफल होने का कारण बनता है

जब मैं अपने चश्मा चलाने के लिए जाना है, वे सभी निम्न त्रुटि के साथ विफल:

Failure/Error: Unable to find matching line from backtrace 
ActiveRecord::ConnectionNotEstablished: 
    ActiveRecord::ConnectionNotEstablished 
# ./spec/support/database_cleaner.rb:12:in `block (2 levels) in <top (required)>' 

संबंधित पुस्तकालयों में से मणि संस्करण इस प्रकार हैं:

  • activeadmin (0.4.2)
  • database_cleaner (0.7.1)
  • mongoid (2.4.5)
  • meta_search (1.1.3)
  • ActiveRecord (3.2.1)

फ़ाइल है कि परीक्षणों पर असफल रहे हैं, spec/support/database_cleaner.rb:

require 'database_cleaner' 

RSpec.configure do |config| 
    config.before(:suite) do 
    DatabaseCleaner.strategy = :truncation 
    DatabaseCleaner.orm = "mongoid" 
    end 

    config.before(:each) do 
    DatabaseCleaner.clean 
    end 
end 
+0

आपको अपना समाधान एक उत्तर में रखना चाहिए और इसे स्वीकार करना चाहिए; वह पसंदीदा प्रवाह है। –

+0

@ फ़ेलिक्सस्परेलि मैं चाहता हूं, लेकिन मुझे दुख करने के लिए और अधिक अंक चाहिए। जगह में मेरे समाधान की प्रतिलिपि बनाने के लिए स्वतंत्र महसूस करें = डी – dznz

+0

@ डीजेएनज़: जहां तक ​​मुझे पता है, अपने प्रश्नों के उत्तर देने के लिए कोई प्रतिनिधि आवश्यकता नहीं है; प्रतीक्षा समय की केवल एक अवधि। – BoltClock

उत्तर

14

[सवाल से चले गए]

ऐसा लगता है कि करने के लिए database_cleaner प्रयास its initialization method

पर उपलब्ध ORMs को स्वत: पता लगाएँ इसलिए जैसे spec/support/database_cleaner.rb फ़ाइल को बदलने के द्वारा पूर्व empted किया जा सकता है:

RSpec.configure do |config| 
    config.before(:suite) do 
    DatabaseCleaner[:mongoid].strategy = :truncation 
    end 
end 

कॉलिंग configuration में [] विधि स्वतः ऐसी है कि ActiveRecord नहीं रह गया है जोड़ा जाता है ओवरराइड करता है।

एक और कामकाज config/database.yml फ़ाइल को एक sqlite3 कॉन्फ़िगरेशन के साथ दोबारा जोड़ना होगा जो शेष एप्लिकेशन को अनदेखा कर दिया गया था। शुक्र है कि जरूरी नहीं है।

+0

चीयर्स, आदमी! की सराहना की! – dznz

+0

धन्यवाद .. यह चाल है ... – Orlando

+0

मदद के लिए धन्यवाद! –

संबंधित मुद्दे