【问题标题】:Can multiple Rails Applications share models/common business domain data between them?多个 Rails 应用程序可以在它们之间共享模型/公共业务领域数据吗?
【发布时间】:2026-02-18 18:05:01
【问题描述】:

我有几个用例在流程的不同点操作和添加相同的数据。

这些用例中的每一个都共享许多相同的模型和流程中的操作,但需要完全不同的视图和结构。

我正在考虑尝试 8thLight 的这篇文章中的技巧,但这是 2007 年写的。

http://blog.8thlight.com/jim-suchy/2007/02/20/sharing-a-database-among-multiple-rails-applications.html

根据他们的说法,诀窍是

(1) 在应用程序正上方创建一个包含共享模型的新文件夹。

applications_in_same_business_domain
    |-shared_models
    |-application1
    |-application2
    |-...

(2) 通过 enviorments.rb 文件在您的应用程序中需要这个新文件夹或模块 (我相信等价的应该是 config/application.rb 因为我在 Rails 3 中看不到 enviornments.rb。)

他们说这样的一些代码可以工作(在environments.rb中)

 $: << File.dirname(__FILE__) + '/your_lib_path'

我试过了,但它不起作用(在 application.rb 中)...

   config.autoload_paths += %W(../../../mardom_shared_models)

这是执行此操作的标准方法吗?

API 听起来像是另一种方法...但是...我对这里的 API 一无所知。自学6个月菜鸟在这里)

如果可能的话,帮助我完成上述工作,我猜这将是具体问题。我可以这样做吗?

但任何关于其他问题的 cmet 或文章将不胜感激。

我需要从这个链接开始在这里修改 Rails 生成器:http://guides.rubyonrails.org/generators.html

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

我宁愿把所有与模型相关的东西都放在一个gem中,并将gem本地安装到vengor/gems目录以简化在其中的导航。

【讨论】: