2009-04-07 26 views
12

सक्रिय रिकॉर्ड उदाहरण को नष्ट करने का प्रयास करते समय मुझे कोई समस्या है।रेल: सक्रिय रिकॉर्ड पर अनियंत्रित निरंतर त्रुटि

यह जब एक एक ग्राहक उदाहरण पर नष्ट मैं निम्न त्रुटि

@dead_man = Client.find(params[:id]) 
@dead_man.destroy => uninitialized constant UserClient::Instruction 

मैं सच में यकीन नहीं है, जहां इस त्रुटि से आ रहा है कर रहा हूँ दिया हूँ प्रदर्शन निम्नलिखित एआर

class Client < ActiveRecord::Base 
    has_many :phone_numbers, :dependent => :destroy 
    has_many :email_addresses, :dependent => :destroy 
    has_many :user_clients , :dependent => :destroy 
    has_many :users, :through => :user_clients 
end 

class UserClient < ActiveRecord::Base 
belongs_to :user 
belongs_to :client , :dependent => :destroy 
has_many :instructions, :dependent => :destroy 
end 

शामिल है। कोई भी मदद बहुत ही सराहनीय होगी!

उत्तर

20

यह आपके निर्देश मॉडल नहीं ढूंढ रहा है। यकीन है कि यह मॉडल निर्देशिका, उचित नाम में है फैली ActiveRecord::Base आदि

यह भी सुनिश्चित,,, आप UserClient मॉडल में belongs_to :client लाइन से :dependent => :destroy निकाल देना चाहिए, जब तक आप वास्तव में को हटाने का कारण करने के लिए एक user_client का विलोपन चाहते ग्राहक। ऐसा लगता है कि यह चारों ओर एक और तरीका होना चाहिए, और यह पहले से ही क्लाइंट मॉडल में स्थापित है।

3

यह भी जांचें कि फ़ाइल का नाम कक्षा के नाम से मेल खाता है। मेरे मामले में मैं

namespace/old_stats.rb 

में

Class NameSpace::MyStats 

था और रेल "अप्रारंभीकृत निरंतर त्रुटि" फेंकने पर रखा जब तक मैं यह

namespace/my_stats.rb 
करने के लिए बदल
संबंधित मुद्दे