如何从Python客户端与RubyonRails应用程序通信?

如何从Python客户端与RubyonRails应用程序通信?,python,ruby-on-rails,ruby,Python,Ruby On Rails,Ruby,我要开发一个应用程序,我必须在rubyonrails或Python+Django之间做出选择。到目前为止,我想用RubyonRails来做这件事,因为我觉得在上面做我必须做的事情更舒服 但有一个问题。将有一个在Python上编写的客户端应用程序必须与我的进行通信。因为那个应用程序应该可以和我的通信 首先:我认为如果是与MySQL数据库通信的问题,那么就不会有问题,因为Python应用程序能够查询到MySQL服务器,并且具有正确的身份验证权限 第二:还有一个更重要的问题:如果我有一个Ruby编写的

我要开发一个应用程序,我必须在
rubyonrails
Python+Django
之间做出选择。到目前为止,我想用RubyonRails来做这件事,因为我觉得在上面做我必须做的事情更舒服

但有一个问题。将有一个在Python上编写的客户端应用程序必须与我的进行通信。因为那个应用程序应该可以和我的通信

首先:我认为如果是与
MySQL
数据库通信的问题,那么就不会有问题,因为
Python
应用程序能够查询到
MySQL
服务器,并且具有正确的身份验证权限


第二:还有一个更重要的问题:如果我有一个
Ruby
编写的API,为了简化查询,
Python
应用程序能够调用该API中的函数并获得结果吗?如果可能的话,我该如何实现这一点呢?

RubyonRails 5只支持API应用程序,如果您仅将此应用程序用于API,那么只需创建一个普通应用程序并公开呈现json输出的API端点即可。使用
activerecord
映射MySql数据库,使用
jbuilder
映射json视图(在创建新应用程序时,默认情况下这两种视图都可用)。如果你在谷歌
上使用RubyonRails作为API应用程序,你会发现很多教程


祝你好运……)

我使用这个应用程序不仅仅是为了API,它是一个带有前端的web应用程序。我可以包含一个API模块,用于从python调用它的函数(如何?),还是直接让python应用程序查询数据库?是的,创建一个
API
名称空间模块和路由,例如,如果您想获得ID为1的用户的详细信息,您的路由将是
domain/API/v1/user/1
,现在这将转到
users#show
查询数据库,并以json
{id:1,fname:'foo',lname:'bar'…
。这样,你的python应用程序根本不需要与db连接,只会是一个基本的客户端应用程序(我建议这样做)rails应用程序中的所有业务逻辑都只有一个简短的答案:一个基于JSON的RESTful api,通过http调用公开。事实证明,这是一项相当轻量级的工作,并且依赖于通用技术(本例中为JSON和http)让两种不同的技术进行交流。这基本上是回答者所说的,但当我听到它这样表达时,我觉得更有意义。