2009-08-25 63 views
0

我为学校校友网站开发了一款导轨应用程序。 现在另一所学校要我为他们开发一个类似的网站。如何重用导轨应用程序

我想重复使用该应用程序。数据结构将会相同,但实际数据会有所不同。设计布局会相似,但设计本身会有所不同。

一个选择是我只是复制应用程序并修改它。但在这种情况下,我需要管理2个应用程序。

另一种选择是使应用程序具有通用性和可定制性(数据库将被分离)。观点会有很多分支。

我可以在数据库上使用多个应用程序,但我相信它会需要很多工作。

另一种选择是将控制器和模型转移到插件,以便2个应用程序共享它们。

你对这种情况有什么经验吗?如果是这样,你可以与我分享吗?

谢谢。

山姆

+0

请确保您清楚复制您为其他人编写的代码的合法性,具体取决于您所在地区的法律。 – EBGreen 2009-08-25 17:48:28

+0

感谢您的警告。这不是问题。 – 2009-08-26 08:31:48

回答

0

2应用程序将分享:

模型 助手 控制器

他们不会分享:

查看

我不知道有关数据库呢。

我可以分开使用护肤概念一样的观点:

应用程序/视图/ APP1/...

应用程序/视图/ APP 2/...

我还在想着数据库。

0

你会惊讶多远,你可以用不同的样式,布局和合理使用本地化的获得。

1

如果有任何方法可以避免将代码分成两个独立应用程序的复杂性,那么应该这样做。

使应用程序具有普遍性和可定制性,因为您建议将您的一个咨询项目移到更接近独立产品(可能更有利可图)的地方。

2

这可能是有点非正统的,但如果你使用Git,你可以创建两个分支

  1. 一个学校的校友网站
  2. 一个类似的网站

根代码将保留在主分支中。然后,您的开发流程将是:

  • 分支关闭主
  • 进行编辑
  • 拉编辑成主站时满意
  • 拉主人变成了分支机构。

您可以根据需要继续本地修改分支,但您需要小心引入主/分支之间的冲突编辑。

+0

我从来没有想过。好想法。不过,我怀疑我会这样做。 – 2009-08-26 08:30:34

0

我使用的是git子模块和符号链接。在Rails.root/shared中有共享项目的子模块。然后有从app/modelsshared/app/models的符号链接,依此类推。