没有代码重复的白标?

White label without code duplication?

我有一个不确定的技术问题。

现在我有一个产品/网络应用程序(rails 应用程序),我向其他公司贴上了白标。我托管了白色标签和所有我只是想知道如何摆脱必须复制所有代码的粘性循环。

如果我对一个 API 进行了更改,我必须对另一个进行更改。我不确定如何解决这个问题,但我认为这很重要。

我考虑过构建一个核心 API,它将请求路由到不同的白标服务器,但我不确定这是最佳选择。

非常感谢您提供的任何帮助!

这听起来好像每次添加新公司时都克隆您的应用程序,而正确的解决方案是让一个应用程序根据当前公司提供不同的数据。

如果您希望将记录范围限定到特定公司,您可以使用 Apartment gem if you wish to use different dbs for different companies (sort of, check docs for more details), but you need to make sure your db can handle multiple tables (PostgreSQL can't). Or you can use Acts As Tenant

我的建议是使用 Acts As Tenant,因为大多数数据库在处理多行时表现良好,但处理多表时效果不佳。