【问题标题】:Exchange data between Rails Engines在 Rails 引擎之间交换数据
【发布时间】:2013-06-26 13:40:49
【问题描述】:


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

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

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

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

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

提前致谢!

【问题讨论】:

  • 如果可行,请在下面给我投票

标签: ruby-on-rails rubygems gem rails-engines


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    在用户引擎应用程序中编写将返回xmljson 的控制器操作,在推特引擎应用程序中只需使用net:http 通过调用用户引擎应用程序的方法来获取数据。

    谢谢

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多