Foursquare2 Ruby ラッパーを使用して Foursquare API を呼び出していますhttps://github.com/mattmueller/foursquare2
Rails Console でクライアントを初期化すると、次のようになります。
client = Foursquare2::Client.new(:client_id =>'CLIENT_ID', :client_secret => 'CLIENT_SECRET')
次に、location_id (たとえば 5104 を使用) で Foursquare API を呼び出します。
restaurant = client.venue(5104)
これは巨大な Ruby Hashie::Mash を返します。したがって、場所のハッシュのみが必要な場合は、そうします
restaurant.location
これにより、この「ロケーションハッシュ」が得られます
#<Hashie::Mash address="4 Clinton St." cc="US" city="New York" country="United States" crossStreet="at E Houston St." lat=40.721294 lng=-73.983994 postalCode="10002" state="NY">
今、私がrestaurant.location.address
これを返すと=> "4 Clinton St."
それでは、Rails コンソールを終了し、Rails アプリに入ります。私の質問 - Rails「レストラン」モデルでの after_save メソッド呼び出しとして、この「ロケーション ハッシュ」をモデルの「foursquare_location」列に :text フィールドとして保存しています。
レストランの住所の詳細を表示する「レストラン」ビュー テンプレートで、@restaurant.foursquare_location.address を呼び出して住所キーにアクセスして住所値を返すことができるように、テンプレートを作成するにはどうすればよいですか?
Foursquare API の応答を SQLite3 データベースの :text 列に直接保存し、ハッシュ構造を維持できるかどうかはわかりません。
ここでの助けに本当に感謝しています。