css - 为不同客户定制的 Rails 应用程序

标签 css ruby-on-rails ruby-on-rails-3 git ruby-on-rails-4

我会尽量说清楚这是一个非常困难的情况,我会尽量解释清楚。我在 Rails 方面的经验不多,但我想尽我所能地使用 Rails。之前创建过一个主题,但不是很懂Managing Large Scale apps via Rails .

原始情况:

我们开发了一款只考虑一位客户的应用程序。为了满足客户的需求,我们有以下分支机构:

  • 发展
  • 客户开发(用于测试新开发的单独站点)
  • 客户 ACC(用于接受更改的单独站点)
  • 客户 PRD(客户生产网站)

现状:

现在我们有了第二个客户,所有的分店都翻了一番。所以我们现在正在为每个客户单独开发更改。这些更改可能包括模型/ Controller /助手更改,并且它们具有不同的样式表 (sass/css) 以及不同的 HTML。

因此,我们的 1 个应用程序已拆分为 2 个单独的应用程序,供 2 个客户使用。现在我必须记住我在每个分支中所做的事情,并尝试将其实现到其他分支中。

问题:

如果有更多客户购买,我将完全失去对管理这些应用程序的控制权。所以每个客户都可以有不同的 CSS/不同的 HTML/不同的模型/ Controller /库。

问题示例:

  • 每个客户都有不同的config/connections.yml文件
  • 每个客户都有不同的翻译文件config/locales/en.yml
  • 一个客户希望拥有一个包含用户(模型/ Controller )的数据库,另一个客户不想将用户保留在数据库中

我的想法:

当更多客户购买此应用程序时,我真的很害怕失去对该应用程序的控制。我很害怕当 25 个客户购买它时,我将拥有 100 个 Github 分支。我不知道是否有很多人有这个问题,或者我是否应该重新开始编写这些应用程序。我不知道这是否可能,但如果有人能帮助我,那就太棒了。

最佳答案

恕我直言,请考虑以下几点以便更好地管理具有多个客户的应用程序:

  1. 与其为每个客户创建单独的分支并单独开发代码,不如在同一分支中为多个客户开发代码(根据您的发布管理,您可以继续拥有 4 个分支)。
  2. 如果有任何功能是客户需要但不是 通过其他然后创建用于打开功能的设置界面 开关。这可以通过将值存储在数据库中或使用 gems 来完成 喜欢flipperrollout
  3. 对于不同的 HTML 结构和 css,不维护多个模板/部分,而是为不同的客户维护不同的布局,并有条件地使用适当的 css 呈现各自的布局。让模板和部分内容对所有客户都是通用的。

关于css - 为不同客户定制的 Rails 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26000743/

相关文章:

HTML- 在标题栏中添加或控制图标

css - 需要从样式表中删除导航上方框

ruby-on-rails - 如何将 ActionController::RoutingError 分类为 Sentry 中的错误

ruby-on-rails - 合并两个表单 rails

jquery - 如何在悬停在菜单项上时显示子菜单项

ruby-on-rails - 带有 Amazon S3 的 Carrierwave 配置,托管在 Heroku 上

mysql远程ssl

ruby-on-rails - heroku 中的记录顺序不正确

ruby-on-rails - 如何将属性作为参数传递给在类上调用的方法?

css - 为什么 Material 组件卡标题与底部对齐?