我正在制作一个使用Postgres作为数据库的Rails应用程序。我希望能够在我的一个视图中实现一个搜索栏,它将从多个API获取信息(可能是Yelp和Eventbrite,可能更多)。然后它会将结果显示给用户。
我还没决定如何过滤这些结果。然后,用户应该能够保存他们喜欢的结果,能够查看这些结果的详细信息,并与朋友分享。
我应该使用哪些宝石?实现此搜索的最佳方法是什么?任何建议将不胜感激。
答案 0 :(得分:1)
我无法谈论如何实现整个功能,因为这超出了本问题的范围。不过我可以提一些建议。 HTTParty是我体验API的绝佳宝石。我会有一个用户发布的search_controller,然后让该控制器使用不同的普通ruby类来联系各种API用户HTTParty作为http客户端。
答案 1 :(得分:1)
对于使用像Yelp,Evenbrite或外部API这样的API,您通常需要注册以获得对它们的完全访问权限。在任何情况下,您可能也可能不必登录API。
猜测您的搜索栏没有自动填充功能而且您不必登录,您必须创建一个处理搜索的控制器。该控制器可以调用多个模型或包装器,每个模型或包装器处理对特定提供者的API调用。
如果提供商没有宝石,您可以使用: http://blog.teamtreehouse.com/its-time-to-httparty
像Stripe这样的其他提供商,确实提供了一个宝石。对于这些情况,我建议在https://www.ruby-toolbox.com/中搜索,在那里可以找到宝石(在本网站的搜索栏中输入eventbrite)。这些宝石按使用,受欢迎等评级。它是一个很好的知识来源。
如果您需要登录API,您可能需要注册您的应用程序,以便您可以通过协议使用它,即Oauth,就像Github API一样。
答案 2 :(得分:1)
如果您要使用的API遵循一种宁静的格式,我发现这个gem对于处理活动记录关联等其他API非常有用:https://rubygems.org/gems/activeresource/versions/4.0.0