微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法登录 Rails + Apartment 中的租户 URL

如何解决无法登录 Rails + Apartment 中的租户 URL

当我将 Apartment gem 用于多租户应用程序时,我面临的问题是有时我可以登录但有时我无法登录它会在登录请求时出现 500 错误并在 rails 日志中找不到租户 我的租户切换代码就像

url : https://tenant_xyz.example.com

我正在使用单独的方法切换租户

def self.switch_tenant(tenant_name)
   Apartment::Tenant.switch!(tenant_name)
end

有什么解决办法吗? 提前致谢

解决方法

@Patil 不要使用您的自定义方法公寓中间件正在为我们完成这项工作。当您使用子域访问任何 url 时,它会切换到该数据库执行方法并再次重置为主数据库

apprication.rb file中添加以下代码

Rails.application.config.middleware.use Apartment::Elevators::Generic,lambda { |request|
_host = request.host.split('.').first
if ExcludedSubdomains.subdomains.include?(_host)
   Rails.configuration.database_configuration[Rails.env]["database"]
else
  _host
end
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?