我正在开发一个 Rails 应用程序,它使用不同的 Rails 引擎来封装功能。
我想在这些引擎之间交换数据。
是否有可能创建引擎提供的某种公共(public)接口(interface)来交换我可以在其他引擎/主机应用程序中使用的数据?或者我应该使用某种 JSON API 进行访问?
这是一个小例子,它应该显示我的意思:
假设我有一个“完整的”Rails 应用程序。我还在这个应用程序中安装了一个用户引擎和一个推特引擎。现在我想在 tweet-Engine 中访问用户的数据。
顺便提一句。还有一种方法可以在引擎模型之间创建关联吗?
如果有人可以帮助我,我很高兴
提前致谢!
最佳答案
有几种方法可以解决这个问题。您可以拥有一个共享数据库,其中引擎具有访问同一数据库以相互通信的模型。有关更多信息,请参阅 rails 指南 http://guides.rubyonrails.org/engines.html#using-a-class-provided-by-the-application
您所说的另一种方法是构建 API,尽管它更适用于单独的应用程序。
关于ruby-on-rails - 在 Rails 引擎之间交换数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17321695/