2009-03-26 28 views
10

Rails cung cấp một bảng điều khiển rất hữu ích ('script/console').Bàn điều khiển Rails: Chạy một tệp Ruby nhiều lần

Tôi viết một tệp ruby ​​và chạy tệp đó trong bảng điều khiển bằng cách sử dụng require foo.rb.

Lần đầu tiên nó hoạt động tốt, nhưng lần thứ hai và tiếp theo require foo.rb không chạy tập lệnh của tôi (require không tải lại).

Bạn có bất kỳ mẹo/thủ thuật nào không?

Trả lời

2

Bạn có lẽ nên thử tải môi trường đường ray của mình trong tập lệnh hoặc sử dụng cào. Cũng xem xét sử dụng script/runner.

Here là ví dụ cũ và có thể đã lỗi thời về việc sử dụng môi trường đường ray của bạn trong tập lệnh. Phiên bản chi tiết và gần đây hơn here.

A stack overflow answer

17

đòi hỏi được sử dụng để tải các phần mở rộng - vì vậy mã sẽ thực hiện một lần, để có được những phần mở rộng có mặt trong môi trường của bạn, nhưng sau đó đòi hỏi sẽ không làm bất cứ điều gì, bởi vì công việc có đã được thực hiện.

tải, mặt khác, tải và thực thi mã mỗi lần. Như đã đề cập, nếu bạn chỉ muốn chạy tập lệnh và bạn cần môi trường Rails, hãy xem xét sử dụng tập lệnh/runner

+3

Đảm bảo bạn sử dụng tên tệp đầy đủ có tải (yêu cầu không yêu cầu điều này;)) – djburdick

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