Tôi gặp lỗi bất cứ khi nào tôi cố gắng sử dụng hàm được trong một tác vụ rake. Có cách nào để làm cho nó hoạt động?
Lỗi cho biết, "không có tệp hoặc thư mục như vậy - (tên tác vụ cào)"
Tôi gặp lỗi bất cứ khi nào tôi cố gắng sử dụng hàm được trong một tác vụ rake. Có cách nào để làm cho nó hoạt động?
Lỗi cho biết, "không có tệp hoặc thư mục như vậy - (tên tác vụ cào)"
Câu trả lời:
Vấn đề là Kernel#gets
(đó là những gì bạn đang gọi nếu bạn chỉ sử dụng gets
chính nó) giả sử bạn đang lấy từ một tệp được đặt tên bởi các đối số được truyền cho Rake. Điều đó có nghĩa là gets
cố gắng trả về nội dung của một tệp có tên [rake-task-here], tệp này gần như chắc chắn không tồn tại.
Cố gắng STDIN.gets
.
$stdin
có lẽ là thích hợp hơn so với STDIN
ở đây, cũng thấy stackoverflow.com/a/4279689/968531
Tôi không nghĩ rằng bạn nên sử dụng get in a rake task, nếu bạn cần lấy dữ liệu đầu vào từ dòng lệnh, bạn có thể nên chuyển nó vào dưới dạng tham số, nhưng nếu bạn đăng một số mã không hoạt động thì tôi chắc chắn bạn sẽ nhận được một câu trả lời tốt hơn.