2009-04-07 42 views
12

Tôi đang gặp sự cố khi cố hủy một bản ghi hoạt động.Đường ray: lỗi liên tục chưa được khởi tạo trên Bản ghi Hoạt động tiêu diệt

Nó bao gồm AR sau

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 

Khi thực hiện phá hủy trên một trường hợp khách hàng tôi đưa ra các lỗi sau

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

Tôi thực sự không chắc chắn nơi lỗi này là đến từ. Bất kỳ trợ giúp nào cũng được đánh giá rất cao!

Trả lời

20

Nó không tìm thấy mô hình Hướng dẫn của bạn. Hãy chắc chắn rằng đó là trong các mô hình thư mục, một cách thích hợp được đặt tên, mở rộng ActiveRecord::Base vv

Ngoài ra, bạn nên loại bỏ các :dependent => :destroy từ dòng belongs_to :client trong mô hình UserClient, trừ khi bạn thực sự muốn xóa một user_client để dẫn đến việc xóa các khách hàng. Có vẻ như nó phải là một cách khác, và nó đã được thiết lập trong mô hình Client.

3

Đồng thời kiểm tra xem tên tệp có tương ứng với tên lớp hay không. Trong trường hợp của tôi, tôi đã

Class NameSpace::MyStats 

trong

namespace/old_stats.rb 

và Rails tiếp tục ném những "lỗi liên tục chưa được khởi tạo" cho đến khi tôi thay đổi nó để

namespace/my_stats.rb 
Các vấn đề liên quan