Tôi có một số URL, như
http://www.example.com/something?param1=value1¶m2=value2¶m3=value3
và tôi muốn trích xuất các tham số từ các URL này và nhận chúng trong Hash. Rõ ràng, tôi có thể sử dụng các biểu thức thông thường, nhưng tôi chỉ tự hỏi liệu có cách nào dễ dàng hơn để làm điều đó với Ruby hoặc Rails. Tôi chưa tìm thấy gì trong mô-đun Ruby URI
nhưng có lẽ tôi đã bỏ lỡ điều gì đó.
Trong thực tế, tôi cần một phương pháp sẽ làm điều đó:
extract_parameters_from_url("http://www.example.com/something?param1=value1¶m2=value2¶m3=value3")
#=> {:param1 => 'value1', :param2 => 'value2', :param3 => 'value3'}
Bạn sẽ có một số lời khuyên?
Hash[*string.split('&').collect{|i|i.split('=')}.flatten]
Điều này cũng sẽ làm việc, nhưng nó có thể là lựa chọn tồi tệ nhất cho trường hợp này. Nhưng bạn vẫn có thể thấy đoạn trích này thú vị. (Đăng dưới dạng nhận xét vì tôi không coi đây là câu trả lời :-))