住在子域名下的多租户应用程序会为租户提供这类网址:
subdomain.domain.com/:tenant-id/the-route-you-want
所有租户都有自己的postgresql架构。
使用Active Storage上传工作正常并填充了良好的架构,但是当您尝试获取文件时,url不再引用租户ID,因为Active Storage有自己的路由。
他们是否可以确定这些路线的范围?
使用apartment gem,我的实际工作是将租户ID传递给默认网址:
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