Rails acts_as_tenant - 访问当前租户

时间:2013-09-06 15:02:46

标签: ruby-on-rails

我已将gem'metants_as_tenant'添加到我的Rails应用程序中。

我在应用程序控制器中设置了以下内容:

  set_current_tenant_by_subdomain(:tenant, :subdomain)

我还在Tenants表中添加了信息列。例如,statuscode_id为“已关闭”状态。在Request模型中,我想使用该列进行范围调整。

这样的事情:

scope :closed, where(:statuscode_id => Tenant.find(current_tenant.id).request_closed)

但是,current_tenant无效。

我可以使用什么来获取当前租户的ID?

谢谢!

1 个答案:

答案 0 :(得分:1)

到目前为止,您所做的就是说子域名将用于定义租户。为了限制租户只能看到他们的数据,您需要在模型中定义它。

您需要将acts_as_tenant(:tenant)添加到Request模型中。此表的数据库中还需要一个tenant_id列。

完成此操作后,gem将负责其余部分,所有数据库访问权限将自动处理限制租户访问的权限。例如Request.all将在幕后使用默认范围,仅限制该租户拥有的请求。

有关详细信息,请参阅ErwinM/acts_as_tenant