【发布时间】:2013-12-07 16:22:40
【问题描述】:
我正在为有可能上传自己的设计(图像/CSS/JavaScript)的客户提供多租户服务,这让我想知道,为不同的客户包含不同资产的合适方式是什么?如何在 RoR 上实现这样的功能?我已经通过使用唯一的登录凭据来区分每个客户的主题。
我塞满了 Rails 的文档,没有任何关于加载不同资产集的相关数据。另外,我搜索过 SO/Google,但找不到任何有用的东西。
如何根据不断变化的变量动态加载不同的资产(很可能是从数据库中提取的结果)。我正在寻找类似的东西:
use_assets(current_tenant.theme_name) #current tenant's theme is loaded(CSS/JS/Images)
【问题讨论】:
-
如何根据用户将所有资产定向到特定的子目录?只需将该目录添加到所有路径即可。
-
客户如何上传他们的设计?他们是用回形针或载波之类的东西上传它们吗?在 dB 中编辑 TEXT 列?
-
@AndyV 他们的想法是我们 - 供应商 - 专门为客户创建设计并进行设置。他们唯一做的就是命名主题。
-
@screenmutt 我们这样做的目的究竟是什么?您的意思是通过将
assets替换为assets/{THEME_NAME}来修改config.assets.paths,这是否适用于运行时(即,对于每个请求,而不是在服务器初始化时)? -
在每个指向 CSS、JavaScript 或图像的链接中,包含额外的目录。换句话说,链接到
"/stylesheets/user/style.css"而不是"/stylesheets/style.css"
标签: ruby-on-rails ruby asset-pipeline multi-tenant paas