我正在构建 Multi-Tenancy 应用程序。
所有数据隔离都是通过每个表中的TenantID列完成的。
自动为所有租户模型处理 Multi-Tenancy 的最佳方法是什么。
例子:
Contacts.new({.....}) should automatically add :tenant => curret_user.tenant
Contacts.where({....}) should also add :tenant => curret_user.tenant
目前,我在CanCan gem中看到了类似的内容,可以获取特定用户参数的记录。但是它没有为插入和更新操作提供任何东西。也许是我不知道该怎么做。
问候,
阿列克谢·扎哈罗夫(Alexey Zakharov)。
最佳答案
如果可以通过租户对象处理所有集合,则是可能的。
这是使用Mongoid的示例:
#Find all products with price > 500 in current tenant scope
current_tenant.products.where(:price.gt => 500)
#It also work for create and save operations
current_tenant.products.create :name => "apple", :price => 200
关于ruby-on-rails - 在Rails 3中处理 Multi-Tenancy 的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3776593/