2013-03-16 55 views
0

使用Httparty來訪問COLOURlovers API。但我希望以軌道的方式做到這一點。 我設法它通過創建一個類上app/models/clover.rb工作:訪問API的Rails

require 'httparty' 
class Clover 
    include HTTParty 

    base_uri 'www.colourlovers.com/api' 

然後我定義的方法,如:

def self.random(resource) 
    fix_params query 
    response = get("/#{resource}/random", { query: query }) 
    ActiveSupport::JSON.decode(response.body) 
    end 

然後我查詢的資源,如:

Clover.random :color 

它做的工作,但我不知道這是一個很好的方法來解決這個問題。這種情況有沒有設計模式?

回答

1

我會將http東西提取到它自己的類/模塊中,包括解析響應,然後繼承到您的實際模型類中,以便模型只處理資源本身,而不是處理通信/解析。