是否可以在production.rb
中动态设置某些配置变量,使用来自数据库的值?
我正在构建一个多租户应用程序,每个租户都有一些需要动态设置的环境特定信息。
例如:
// production.rb
config.action_mailer.default_url_options = { :host => current_tenant.domain }
current_tenant
是一个辅助方法,定义在 ApplicationHelper
中,因此无法在 production.rb
中访问。
这是 current_tenant
的定义:
// application_helper.rb
def current_tenant
@current_tenant ||= Tenant.find_by(domain: Apartment::Tenant.current)
end
如果不行,是否可以使用数据库数据动态创建
secrets.yml
文件?这样我就能在 production.rb
中使用 ENV
了。
UserMailer.default_url_options[:host] = 'domain'
- Anant Kolvankarbefore_filter set_tenant_config
,并在该方法中完成所有配置。 - Anant Kolvankar