我正在使用 Foursquare2 Ruby 包装器调用 Foursquare API https://github.com/mattmueller/foursquare2
如果我在 Rails 控制台中初始化客户端:
client = Foursquare2::Client.new(:client_id =>'CLIENT_ID', :client_secret => 'CLIENT_SECRET')
然后我通过 location_id 调用 Foursquare API(例如使用 5104)。
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”列中保存为:文本字段。
在我的“餐厅”视图模板中显示餐厅地址详细信息,我如何编写模板以便我可以调用 @restaurant.foursquare_location.address 以便它访问地址键以返回地址值?
我不确定我是否可以直接将 Foursquare API 响应直接保存到我的 SQLite3 数据库中的 :text 列中并让它保持其哈希结构。
我非常感谢这里的帮助。