位于子域上的多租户应用程序向租户提供这些类型的 url:
subdomain.domain.com/:tenant-id/the-route-you-want
所有租户都有自己的 postgresql 模式。
使用 Active Storage 上传工作正常,并且填充了良好的架构,但是当您尝试获取文件时,url 不再引用租户 ID,因为 Active Storage 有自己的路由。
他们是一种确定这些路线范围的方法吗?
使用公寓 gem,我的实际工作是将租户 ID 传递给默认 URL:
class ApplicationController < ActionController::Base
def default_url_options(options = {})
{ tenant: params[:tenant]}
end
end
并调整 Apartment 初始化器:
tenant = req.params['tenant'] || req.path.split('/')[1]
他们是一种在良好范围内制作 Active Storage URL 的方法吗?就像是:
scope path: ":tenant" do
mount-active-storage-paths
end