【发布时间】:2012-01-26 13:43:49
【问题描述】:
我有一个多租户 Rails 应用程序正在运行。 我希望范围为当前租户的模型(如此处的本文模型)继承租户范围模型,如下所示
class Article < TenantScoped
end
这很好用。我只接收范围为当前租户的对象。
但现在我正在创建一个管理界面,我希望能够在其中向所有租户添加文章。但是我的管理界面充当租户,并且模型的范围是它。 最后没有显示任何条目。
我建议最好的解决方案是像这样有条件地从租户范围模型继承
class Article
unless SudoTenant.current?
< TenantScoped
else
< ActiveRecord::Base
end
end
我一直在寻找 ruby 类的条件继承,但还没有找到任何东西。我的语法在这里是错误的,或者这甚至可能吗?
提前致谢
【问题讨论】:
-
这是不可能的。您可以根据状态条件有条件地包含模块,但不能继承。
标签: ruby-on-rails class inheritance model