Tôi có một số phương thức lớp tùy chỉnh act_as _... khác nhau mà tôi muốn sử dụng trong ứng dụng của mình. Tôi muốn mã cho các phương thức đó nằm trong các tệp trong thư mục app / modules.
Tôi không thể làm cho điều này hoạt động.
Ví dụ: tôi có một tệp: app / modules / act_as_lockable
module ActsAsLockable
def acts_as_lockable
before_create :set_lock
include InstanceMethods
end
module InstanceMethods
protected
def set_lock
now = Time.now.to_s
self.lock = Digest::SHA1.hexdigest(now)
end
end
end
ActiveRecord::Base.extend ActsAsLockable
Và trong application.rb
config.autoload_paths += %W(#{config.root}/app/modules)
Khi tôi cố gắng tải lên một mô hình có tên gọi act_as_lockable, tôi gặp lỗi sau:
NameError: biến cục bộ không xác định hoặc method `act_as_lockable '
Tôi đoán là tôi không nên tự động tải thư mục mô-đun vì ActiveRecord đã được tải khi tôi mở rộng nó? Có một cách khác để làm điều này? Tôi muốn có thể thay đổi tệp trong quá trình phát triển mà không cần khởi động lại máy chủ của mình nhưng đó là nhu cầu nhiều hơn là cần.