0

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

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

  set_current_tenant_by_subdomain(:tenant, :subdomain)

我还在租户表中添加了信息列。例如,“关闭”状态的 statuscode_id。在请求模型中,我想使用该列来确定范围。

像这样的东西:

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

但是,current_tenant不起作用。

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

谢谢!

4

1 回答 1

1

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

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

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

有关这方面的更多信息,请参阅ErwinM/acts_as_tenant

于 2013-09-06T16:30:06.663 回答