我们有一个中等规模的应用程序,部署在多个客户的在线 VPS 服务器上。代码对于所有客户端都相同。维护变得非常繁重。即使是同样的更改,我们也必须在这么多服务器上部署。因此,我们计划为我们的应用程序实现多租户功能。
我们发现了一些宝石,但它们不能满足我们的需求,因此我们计划进行实施。
我们创建了一个新模型 "Client" 并创建了一个抽象超类,该超类从 "ActiveRecord::Base" 继承,并且所有依赖类都继承自该类。现在的问题是当我想要从我的超类添加 "default_scope" 时。
我们发现了一些宝石,但它们不能满足我们的需求,因此我们计划进行实施。
我们创建了一个新模型 "Client" 并创建了一个抽象超类,该超类从 "ActiveRecord::Base" 继承,并且所有依赖类都继承自该类。现在的问题是当我想要从我的超类添加 "default_scope" 时。
class SuperClass < ActiveRecord::Base
self.abstract_class = true
default_scope where(:client_id => ???)
end
每个用户的 ??? 都不同。因此我无法给出静态值。但我不确定如何动态设置这个范围。那么该怎么办?