从c++程序调用Rails方法

Call Rails Method from C++ Program

本文关键字:Rails 方法 调用 程序 c++      更新时间:2023-10-16

我有一个关于c++到Ruby on Rails通信的相当奇怪的问题。每当我的c++程序中发生某些事件时,我试图更新Rails服务器中的视图,这两者都在同一台机器上。是否有可能从c++程序调用RoR服务器上的控制器中的方法?如果有,是怎么做到的?

  • 如果这些更新是高频的,考虑绕过rails直接从你的c++应用程序更新你的数据库。
  • 如果更新不频繁,你可以考虑使用C HTTP库,比如curl,通过HTTP堆栈向rails应用程序发送更新;你可能想要限制对那些更新控制器方法的访问。
  • 如果更新非常不频繁,它可能只是一个足够的解决方案,从你的c++应用程序中运行一个rake任务。

虽然在技术上可以通过SWIG之类的东西从c++调用ruby,但这确实是一个繁琐的解决方案,可能难以维护和调试。

您可以让Rails应用程序通过XML-RPC公开其控制器方法——有一个库可以做到这一点。然后使用c++ XML-RPC库来调用它。