Các trang wiki thor, Making an Exectable, cho bạn thấy làm thế nào để tạo ra một thor powered lệnh CLI mà trông giống như sau:Thor Executable - Bỏ qua công tác Tên
bash ./mythorcommand foo
này đòi hỏi bạn phải vượt qua trong nhiệm vụ thor foo làm đối số đầu tiên.
tôi cũng có thể chạy một thực thi thor mà không cần bất kỳ đối số sử dụng thor của default_method:
bash ./mythorcommand
Tuy nhiên, tôi muốn vượt qua trong một chuỗi biến như là đối số đầu tiên:
bash ./mythorcommand "somevalue"
Điều này không hiệu quả vì lệnh thor mong đợi đối số đầu tiên là tên công việc. Có cách nào để bỏ qua tên tác vụ và gửi đối số đầu tiên cho một phương thức mặc định không?
Nếu chức năng này không tồn tại, tôi nghĩ nó sẽ rất hữu ích để thêm một phương pháp mà sẽ vượt qua tất cả các đối số dòng lệnh vào một nhiệm vụ/phương pháp:
class MyThorCommand < Thor
only_method :default
def default(*args)
puts args.inpsect
end
end
MyThorCommand.start
Câu trả lời này là chính xác. Sử dụng 'argument: bar' để làm cho nội dung của đối số chuỗi chưa đặt tên có sẵn bằng cách gọi' bar' bên trong '# action'. Thor sẽ tìm đối số này cho dù đó là trước hoặc sau bất kỳ tùy chọn nào được xác định bởi 'class_options'. –
Hãy coi chừng Thor :: Nhóm gọi tất cả các tác vụ cùng một lúc. – FuePi