我正在使用Apartment gem构建多租户应用程序。我的核心功能在所有租户中都很常见。但是现在我想为TenantB添加一个表格,该表格不会出现在TenantA的模式中。如果我执行以下操作,则会将表格添加到有能力的租户中。
class CreateStickies < ActiveRecord::Migration[5.0]
def change
if table_exists? :tenantb
create_table :post do |t|
t.text :body
t.string :title
t.timestamps
end
end
end
end
如何将此帖子表格添加到我选择的租户中?
答案 0 :(得分:0)
据我所知,Apartement
不支持您的要求。
如果您正在使用公寓开发Rails应用程序,则可能需要解决此问题。
Loading tenant specific configurations(从wiki无耻地复制)
#config/initializers/country_specific.rb
COUNTRY_CONFIGS = YAML.load_file(Rails.root.join('config', 'country_specific' , 'config.yml'))
#config/country_specific/config.yml
da:
site_name: Boligsurf.dk
se:
site_name: Bostadssurf.se
#app/controllers/application_controller
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_country_config
......
def set_country_config
$COUNTRY_CONFIG = COUNTRY_CONFIGS['da'] #As default as some strange domains also refer this site, we'll just catch em as danish
$COUNTRY_CONFIG = COUNTRY_CONFIGS['se'] if request.host.include? 'bostadssurf'
end
#Somewhere in your code
puts "Welcome to #{$COUNTRY_CONFIG['site_name']}"
您可能会探索上述功能,根据租户隐藏/公开您的应用程序的租户特定区域。