gpt4 book ai didi

ruby-on-rails - Rails 引擎是否适合管理应用的多个版本?

转载 作者:行者123 更新时间:2023-12-04 07:09:18 24 4
gpt4 key购买 nike

我有一个具有核心功能(布局、用户、消息传递等)和 3 个不同版本的 Rails 应用程序,它们在核心集之上添加了自己的独特功能。它们中的每一个当前都位于单独的目录中,并且目前单独部署。

当我对核心功能进行更改时,我不得不手动将它们复制到每个应用程序中,并且非常困惑。

我想让这 3 个文件夹成为核心应用程序,这样我就可以通过 git 提取更改,并通过插件文件夹中的引擎拥有独特的功能。这样,我可以保留一个版本的核心功能并将独特的功能分开。

这是解决这个问题的可行方法吗?

我以前从未使用过引擎,只是通过 Rails 2.3 了解它们。

最佳答案

我不知道 Rails 引擎是否是这里的解决方案,但让我告诉你我们如何在我们的一个项目中解决这个问题。

我们有一个核心项目,还有两个项目几乎使用了大部分相同的数据(主要是 rails 模型)。以下是我们的设置方式:

3个git仓库:
- 核心项目
- 子项目 1
- 子项目 2

核心项目是一个完全正常的 git repo,但在子项目中,核心项目是一个 git 子模块。然后,通过 git 添加和跟踪符号链接(symbolic link)。例如:

/subproject $: git submodule add git@git.repo:core.git core
/子项目 $: cd 应用程序
/subproject/app $: ln -s ../core/models 模型

现在, subproject/app/models 从核心项目中提取。您可以对任意数量的文件执行此操作。

从核心 repo 更新:

/subproject $: git 子模块更新 && git commit

显然这比复制文件容易得多。我希望这对你有用。

关于ruby-on-rails - Rails 引擎是否适合管理应用的多个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com