3


我正在开发一个 Rails 应用程序,它使用不同的 Rails 引擎来封装功能。

我想在这些引擎之间交换数据。是否有可能创建引擎提供的某种公共接口来交换我可以在其他引擎/主机应用程序中使用的数据?或者我应该使用某种 JSON API 进行访问?

下面是一个小例子,应该能说明我
的意思:假设我有一个“完整的”Rails 应用程序。我还在这个应用程序中安装了一个用户引擎和一个推文引擎。现在我想在推文引擎中访问用户的数据。

顺便提一句。还有一种方法可以在引擎模型之间创建关联吗?

如果有人可以帮助我,我很高兴

提前致谢!

4

2 回答 2

2

有几种方法可以解决这个问题。您可以拥有一个共享数据库,其中引擎具有访问同一数据库以相互通信的模型。有关详细信息,请参阅 rails 指南http://guides.rubyonrails.org/engines.html#using-a-class-provided-by-the-application

您所说的另一种方法是构建一个 API,尽管它更适用于单独的应用程序。

于 2013-06-26T14:02:12.073 回答
1

在用户引擎应用程序中编写将返回的控制器操作,xml或者json在推特引擎应用程序中仅用于net:http通过调用用户引擎应用程序的方法来获取数据。

谢谢

于 2013-06-26T14:00:13.177 回答