繁体   English   中英

如何在将使用诸如Yelp之类的API的Rails应用程序中实现搜索栏?

[英]How do I implement a search bar in a Rails application that will use an API such as Yelp's?

我正在制作一个使用Postgres作为数据库的Rails应用程序。 我希望能够在我的一个视图中实现一个搜索栏,它将从多个API获取信息(可能是Yelp和Eventbrite,可能更多)。 然后它会将结果显示给用户。

我还没决定如何过滤这些结果。 然后,用户应该能够保存他们喜欢的结果,能够查看这些结果的详细信息,并与朋友分享。

我应该使用哪些宝石? 实现此搜索的最佳方法是什么? 任何意见,将不胜感激。

我无法谈论如何实现整个功能,因为这超出了本问题的范围。 不过我可以提一些建议。 在我接触API的过程中, HTTParty是一个伟大的宝石。 我会有一个用户发布的search_controller,然后让该控制器使用不同的普通ruby类来联系各种API用户HTTParty作为http客户端。

要使用像Yelp,Evenbrite或外部API这样的API,您通常需要注册以获得对它们的完全访问权限。 在任何情况下,您可能也可能不必登录API。

猜测您的搜索栏没有自动完成功能而您无需登录,您必须创建一个处理搜索的控制器。 该控制器可以调用多个模型或包装器,每个模型或包装器处理对特定提供者的API调用。

如果提供者没有gem,您可以使用: http//blog.teamtreehouse.com/its-time-to-httparty

其他提供商如Stripe ie确实提供了一个宝石。 对于这些情况,我建议在https://www.ruby-toolbox.com/中搜索,您可以在其中找到宝石(在本网站的搜索栏中键入eventbrite)。 这些宝石按使用,受欢迎等评级。 这是一个很好的知识来源。

如果您需要登录API,您可能需要注册您的应用程序,以便您可以通过协议使用它,即Oauth,如Github API。

如果您要使用的API遵循一种宁静的格式,我发现这个gem对于处理活动记录关联等restful API非常有用: https//rubygems.org/gems/activeresource/versions/4.0.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM