问题标签 [acts-as-tenant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

activerecord - Citus "create_distributed_table" 给出 "PG::UndefinedColumn"

当试图用 Citus 创建一个分布式表时,它给出了一个PG::UndefinedColumn: ERROR: column "x" does not exist

我在工作人员和主数据库上启用了 Citus:

我创建了一个复合主键:

尝试这样做时:

它一直在说:

有什么我忘记了吗?

0 投票
0 回答
30 浏览

ruby-on-rails - 基于多租户 Rails 应用程序不会使用 gemacts_as_tenant 区分域

我正在使用acts_as_tenant gem 来构建一个部署可定制网站的多租户rails 应用程序。在我的应用程序控制器中,我有:

假设我的应用程序位于platformdomain.io. 当我创建一个新应用程序时,我可以为它设置一个子域(比如说“我”),新网站可以在 me.platformdomain.io 下访问,这非常好。但是,我也希望我的用户能够将他们的应用程序部署在他们自己的自定义域上,例如customdomain.ioshop.customdomain.io. 然后,我在租户表 ( account) 上设置了一个名为 domain 的新字段。出于测试目的,我购买了一个随机域 ( mycustomdomain.io) 并添加了它heroku shop.mycustomdomain.io,heroku 然后为您提供了一个 DNS 目标:randomDnsTarget我设置了一个 CNAME 来指向商店子mycustomdomainrandomDnasTarget。然后,我创建了一个具有子域shop和域的帐户mycustomdomain.io。但是,当我尝试访问自定义应用程序时shop.mycustomdomain.io,我可以在日志中看到我的应用程序正在尝试基于子域加载shop.mycustomdomain

这是行不通的,因为我猜该应用程序应该尝试加载域为mycustomdomain. 我在这里错过了什么吗?这不是acts_as_tenant应该如何工作吗?我怎样才能实现所描述的行为?

0 投票
1 回答
69 浏览

ruby-on-rails - Rails 在用户中设计 NoMethodError::RegistrationsController#create undefined method `each_with_index' for #

我有一个小应用程序,我已将帐户更改为场地,现在在使用场地属性创建用户时遇到问题

用户中的 NoMethodError::RegistrationsController#create undefined method `each_with_index' for #Venue:0x00007fadb5270398 RegistrationsController

用户模型

场地模型

报名表

是什么导致我的错误?

更新

应用控制器

0 投票
0 回答
39 浏览

ruby-on-rails - rails-setting-cached 和 ActsAsTenant - 如何让它们玩得很好

我有一个现有的 Rails 5.2 应用程序,我正在向其中添加多租户支持。到目前为止,它与acts_as_tenant 完美配合,除了站点设置。

我正在使用 rails-settings-cached 来处理一些非常简单的站点范围的变量。从这里开始,这些对于每个租户来说都是唯一的(每个租户都可以控制自己的设置。)

这是代码。首先,设置模型:

设置控制器:

视图中的片段:

所以这就是问题所在。我在新环境中清除了所有以前的设置,然后登录到第一个租户。设置为空(如预期的那样。)向所有字段添加值并保存工作,当我通过控制台检查结果时,我可以看到acts_as_tenant 已正确填充了每个设置的 organization_id 字段。

但是,当我登录第二个租户时,表单包含第一个租户的所有设置。如果我尝试做出改变,我会受到以下打击:

错误来自 SettingsController 中的这行代码:

那么是否可以适当地确定范围,以便我可以对每个租户进行不同的设置?

一个备用选项是完全删除此 gem,只需将它们作为字段添加到组织模型中。但如果我能避免的话,我宁愿不要。

编辑:

我认为这可能是问题所在?创建表以存储设置的迁移会添加索引。

https://github.com/huacnlee/rails-settings-cached/blob/main/lib/generators/settings/templates/migration.rb

不确定删除唯一约束是否有效。在这种情况下,我认为应该这样做,因为acts_as_tenant 正在为我确定数据库调用的范围......只是一个想法。还在寻找。