2011-07-06 27 views
47

Tôi đang chơi với bảng điều khiển, tôi thay đổi một số mã mẫu và bây giờ tôi muốn thử nghiệm nó. Tôi thường khởi động lại bàn điều khiển. Có cách nào nhanh hơn không? Có lẽ một lệnh giao diện điều khiển để tải lại mã mô hình?Có lệnh Rails Console (Rails 3+) để tải lại mã đã thay đổi không?

+0

Tôi gặp vấn đề tương tự (tải lại! Không hoạt động như tôi cần) viết mã trợ giúp nhỏ - vì vậy tôi đã sử dụng [link] (http://codepad.org/) để kiểm tra. Hoạt động tốt đẹp. – rtfminc

Trả lời

80

Tất nhiên, bạn chỉ cần gõ:

reload! 
+3

Điều này dường như không hiệu quả đối với tôi. Nếu tôi nhận xét một phương thức trong một mô hình thì gõ 'reload!' Phương thức vẫn hoạt động sau khi tải lại. ?!? Tôi tự hỏi tại sao và nếu có một cách khác để 'bắt đầu lại' bàn điều khiển? – Meltemi

+4

@Meltemi: nó chỉ là cách Ruby hoạt động (khái niệm về các lớp mở): nó định nghĩa lại tất cả các định nghĩa, ghi đè các phương thức hiện có nhưng không xóa các phương thức cũ. Sử dụng 'Class.send (: remove_method,: method_name)' để thực hiện thủ thuật – apneadiving

+1

Chỉ cần thêm 5 xu: nếu you'r sử dụng 'Pry', đôi khi bạn cần thêm' self.send (: include, Rails :: ConsoleMethods) ' –

4

Bạn cần phải gọi reload!

Lệnh này sẽ xóa hằng nạp đã được nạp và sẽ tải chúng khi chúng được tham chiếu trong giao diện điều khiển.

Nếu bạn có các đối tượng cũ từ trước reload!, bạn cần gọi reload trên các đối tượng riêng lẻ này hoặc tìm đối tượng mới và làm việc với chúng nếu bạn muốn thử phương pháp mới.

Các vấn đề liên quan