2012-10-16 24 views
5

Sau nhiều googling Tôi đã thử thêm cả hai để cấu hình của tôi và chưa tải lại không xảy ra:Rails ứng dụng chạy trên Pow không tải lại cho những thay đổi trong thư mục/lib

config.autoload_paths += %W(#{config.root}/lib) 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

tôi có thay đổi các tập tin dưới/lib nhưng làm mới trong Pow không tải lại các thay đổi

Tôi đang thiếu gì?

+0

Bạn có làm mới trình duyệt hoặc khởi động lại ứng dụng không? – veritas1

+0

@ veritas1 làm mới, khởi động lại nó (nói, bằng 'touch tmp/restart.txt') hoạt động của khóa học – user1749366

Trả lời

6

Bạn sẽ muốn khởi động lại pow sau khi thay đổi tệp trong/lib vì Rails khởi tạo đối tượng ở đây khi khởi động và không tải lại sau khi khởi động (vì vậy thay đổi khi máy chủ không hoạt động Sự khác biệt). Để khắc phục điều này, bạn có một vài tùy chọn:

  1. Bạn có thể muốn xem bằng cách sử dụng require_dependency.

  2. Bạn có thể khởi động lại Pow bằng cách chạm vào tập tin restart.txt: touch ~/.pow/restart.txt

  3. Đối với một giải pháp thuận tiện hơn nếu bạn thay đổi thư mục lib của bạn rất nhiều , thêm anvil để xử lý khởi động lại của bạn dễ dàng.

  4. Nếu bạn không muốn làm điều này, chỉ cần thêm các lớp học của bạn vào/đường dẫn ứng dụng vào một thư mục mới.

+0

Nhưng không phải là những gì autoload_paths là cho? để nói với đường ray những gì nhiều hơn để tải lại? – user1749366

+0

Đó là để tự động tải không tự động tải lại. Nếu bạn thực sự muốn, có một số hack ở đây: http://stackoverflow.com/questions/3282655/ruby-on-rails-3-reload-lib-directory-for-each-request – Simpleton