Tôi muốn viết một ứng dụng Ruby on Rails tiêu thụ một API dịch vụ web RESTful thực hiện một số logic trên kết quả và sau đó hiển thị dữ liệu đó trên quan điểm của tôi. Ví dụ, giả sử tôi muốn viết một chương trình đã thực hiện tìm kiếm trên search.twitter.com. Sử dụng ruby tinh khiết tôi có thể tạo ra các phương pháp sau đây:Cách "Rails Way" thích hợp để sử dụng dịch vụ web RESTful trên một tên miền khác là gì?
def run(search_term='', last_id=0)
@results = []
url = URI.parse("http://search.twitter.com")
res = Net::HTTP.start(url.host, url.port) do |http|
http.get("/search.json?q=#{search_term}&since_id=#{last_id.to_s}")
end
@results = JSON.parse res.body
end
Tôi bị cám dỗ để chỉ cần thả phương pháp đó vào bộ điều khiển Rails của tôi như là một phương pháp tư nhân, nhưng một phần của tôi nghĩ rằng có một tốt hơn, nhiều hơn "Rails" cách để làm điều này. Có cách tiếp cận thực hành tốt nhất hay đây thực sự là cách tốt nhất?
Tôi thích đá quý này. Điều này làm cho dịch vụ web tiêu thụ thực sự trơn tru. Một câu hỏi tôi vẫn có mặc dù là Rails có một cái gì đó được xây dựng trong đã làm điều này? Có vẻ như đây là một điều đủ phổ biến để cố gắng làm điều đó họ sẽ có một cách để làm điều đó. –
Ngoài ra, hãy tha thứ cho Rails noobieness của tôi :), làm thế nào tôi có thể thiết lập nó như một mô hình. Tôi chỉ sử dụng các mô hình để truy cập cơ sở dữ liệu bằng ActiveRecord. –
Không có bất kỳ thứ gì được tích hợp vào lõi ray. Mô hình chỉ là một lớp - chỉ cần tạo một lớp trong thư mục mô hình và không kế thừa từ lớp ActiveRecord: Base. Bạn sẽ không có bất kỳ sự tốt đẹp AR bao gồm, nhưng đây là một mô hình khá phổ biến cho việc tiêu thụ các dịch vụ web trong một ứng dụng đường ray –