问题描述
我正在使用 act_as_tenant gem 来构建一个多租户 Rails 应用程序,用于部署可定制的网站。在我的应用程序控制器中,我有:
class ApplicationController < ActionController::Base
set_current_tenant_by_subdomain_or_domain(:account,:subdomain,:domain)
假设我的应用程序在 platformdomain.io
下。当我创建一个新的应用程序时,我可以为它设置一个子域(比如“我”),新网站将可以在 me.platformdomain.io 下访问,这非常有效。但是,我也希望我的用户能够在他们自己的自定义域(如 customdomain.io
或 shop.customdomain.io
)上部署他们的应用程序。然后,我在租户表 (account
) 上设置了一个名为 domain 的新字段。出于测试目的,我购买了一个随机域 (mycustomdomain.io
) 并将其添加到 heroku shop.mycustomdomain.io
,然后heroku 为您提供了一个 DNS 目标:randomDnsTarget
并且我设置了一个 CNAME 以指向商店子域mycustomdomain
到 randomDnasTarget
。然后,我创建了一个帐户,其子域为 shop
,域为 mycustomdomain.io
。但是,当我尝试访问 shop.mycustomdomain.io
上的自定义应用程序时,我可以在日志中看到我的应用程序正在尝试基于子域 shop.mycustomdomain
加载:
Account Load (4.8ms) SELECT "accounts".* FROM "accounts" WHERE "accounts"."subdomain" = $1 LIMIT $2 [["subdomain","shop.mycustomdomain"],["LIMIT",1]]
这行不通,因为我猜应用程序应该尝试加载域为 mycustomdomain
的帐户。我在这里错过了什么吗?这不是 acts_as_tenant
应该如何工作吗?我怎样才能实现所描述的行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)