0

我有两个应用程序 - A 和 B,它们在同一个数据库上执行不同的任务。

我突然想到,当我尝试修改模型(比如 x)时,我必须执行以下操作。

  1. 修改应用 A 中的 x.rb 并运行测试。

  2. 将 B 中的 x.rb 替换为 A 中的 x.rb。

  3. 在 B 中运行测试并失败。

  4. 找出 B 中的错误。

  5. 适用于 A。

显然,这很糟糕。这种情况有什么好的做法吗?

4

2 回答 2

1

编写 gem 并在两个应用程序中共享。

于 2013-09-06T09:33:31.647 回答
0

您可以使用引擎: http: //guides.rubyonrails.org/engines.html

引擎为您的 x 个应用程序共享模型,如果您修改一个模型,每个应用程序将继承更改。

在每个应用程序中,您将在 gemfile 中添加引用:

gem 'my_engine', :path => 'engine_path_project'

您可以将虚拟应用程序中的测试写入引擎项目。

于 2013-09-06T10:21:15.243 回答