1

私はちょっと混乱しています。安らかなJSONリソースを取得し、アクティブリソースを使用しているローカルアクティブレコードのようにアクセスするにはどうすればいいですか?私は2008年頃に多くのチュートリアルを見つけましたが、まったく新しいものはありません。jsonからアクティブなレコード

私は現在のようなものがあります:私はほとんどそこではなく、かなりてるよう

def freebase_list 

    connection = Faraday.new 'https://www.googleapis.com/freebase/v1' do |conn| 

    conn.adapter Faraday.default_adapter 
    conn.use FaradayMiddleware::ParseJson 
    #conn.use Faraday::Response::Mashify 
    end 

    response = connection.get do |req| 
    req.url('search', :query => self.title, :limit => 10)#, :filter => '(any namespace:/wikipedia/en_id namespace:/authority/imdb/title)') 
    end 

    if response.body && response.body["result"] 
    response.body["result"].delete_if {|x| x["notable"].nil? } 
    response.body["result"].delete_if {|x| x["score"] < 50 } 
    end 
end 

def types 
    result = [] 
    self.freebase_list.each do |r| 
    result << { :name => r["notable"]["name"], :value => r["mid"] } if r["notable"] 
    end 
    return result 
end 

を誰かが正しい方向に私を指すでした、私は感じています。

私が直接、アクティブなリソースを使用している場合は、私がnilのリターンを得る:

class Freebase < ActiveResource::Base 
    self.site = "https://www.googleapis.com/freebase/v1/search/" 
    self.format = :json 


    #https://www.googleapis.com/freebase/v1/search?query=nirvana 
    #Freebase.find(:all, :params => { :query => 'monkey', :limit => 10 }) 
    #=> nil 



end 

答えて

2

ありActiveResourceと呼ばれるレールに組み込まれ、このためのライブラリであり、それはActiveRecordのにあなたに似た機能を提供します。

class User < ActiveResource::Base 
    self.site = "http://url.com/" 
end 

new docsの場合、JSONがデフォルトの形式です。

また、railscastsエピソードがあります。

関連する問題