0

我正在使用acts_as_tenant gem 来构建一个部署可定制网站的多租户rails 应用程序。在我的应用程序控制器中,我有:

class ApplicationController < ActionController::Base
  set_current_tenant_by_subdomain_or_domain(:account, :subdomain, :domain)

假设我的应用程序位于platformdomain.io. 当我创建一个新应用程序时,我可以为它设置一个子域(比如说“我”),新网站可以在 me.platformdomain.io 下访问,这非常好。但是,我也希望我的用户能够将他们的应用程序部署在他们自己的自定义域上,例如customdomain.ioshop.customdomain.io. 然后,我在租户表 ( account) 上设置了一个名为 domain 的新字段。出于测试目的,我购买了一个随机域 ( mycustomdomain.io) 并添加了它heroku shop.mycustomdomain.io,heroku 然后为您提供了一个 DNS 目标:randomDnsTarget我设置了一个 CNAME 来指向商店子mycustomdomainrandomDnasTarget。然后,我创建了一个具有子域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应该如何工作吗?我怎样才能实现所描述的行为?

4

0 回答 0