问题标签 [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 投票
4 回答
1061 浏览

ruby-on-rails - 设计和 ActsAsTenant 不能很好地配合

我正在使用 ActsAsTenant,并且在任何设计路线(即任何设计控制器)上都不断收到以下错误。似乎 Devise 试图在设置租户之前获取 current_user 或与获取用户有关的东西,因此 ActsAsTenant 然后引发错误。我尝试使用 prepend_before_action 来设置租户,但这没有用。

如何确保在 Devise 开始查找 current_user 之前设置了租户?

ActsAsTenant::Errors::NoTenantSet at /edit ActsAsTenant::Errors::NoTenantSet

0 投票
1 回答
360 浏览

ruby-on-rails - Rails 充当租户,在 Heroku 上的模型中为零

gem 'acts_as_tenant'在 Rails 3 应用程序中使用。

我根据域在应用程序控制器中设置租户:

我在工作订单模型中有需要使用 current_tenant 的代码:

在我的本地 Mac 上,这工作正常。但是,当我上传到 Heroku 时,我收到了这个错误:

所以,ActsAsTenant.current_tenant是 nil(在 Heroku 上)。

这是为什么?

谢谢您的帮助!

更新1

ActsAsTenant.current_tenant在stmt 中使用相同的模型where没有问题:

更新2

我尝试将代码移动到应用程序控制器,但这甚至无法在本地工作:

但我得到:

更新3

我尝试了另一种方法,即根据 URL 的子域查找租户。查找代码在视图中可以正常工作,但在模型中却不行。

0 投票
2 回答
323 浏览

ruby-on-rails-4 - ActsAsTenant current_tenant + Capybara + RSpec 测试

我正在尝试使用具有有效 current_user 的 Capybara/RSpec 创建一个集成测试(使用 Warden.test_mode!技巧),并且我还通过在测试中执行此操作创建了一个有效的 current_tenant:

运行测试时,会出现“nil:NilClass 的未定义方法”错误,这是未设置 current_tenant 的特征。我已经验证 Account.first 确实有我所期望的。

可能是什么问题,我该如何解决?

0 投票
1 回答
554 浏览

devise - 使用单点登录的 Rolify 和acts_as_tenant(旁边有一些设计和权威)——可以吗?

我将尝试在我的 Rails 应用程序中完成这项工作,但我想我会看看是否有人知道会阻止我走上正轨的陷阱。

基本前提是我有以下模型:

  • 公司——acts_as_tenant 中的租户
  • 用户 - 与 Devise 相关联的所有租户共享的唯一电子邮件地址以进行身份​​验证,即单点登录
  • 角色 - 通过 Rolify 然后使用 Pundit 进行授权
  • Model1、Model2 等,每条记录属于一个公司

从我目前所阅读的内容来看,只要我设置正确,我就会隔离我的租户数据,然后用户可以在租户之间切换,他们的权限也会相应地改变。

所以我的具体问题:

acts_as_tenant 只能与 Rolify 一起使用吗?

例如,如果 Tenant1 中的管理员用户向新用户添加角色,该角色是否会自动仅应用于该租户拥有的资源?

0 投票
1 回答
310 浏览

ruby-on-rails - 无法使用“租户”创建用户

我正在使用宝石米利亚和设计。

只是为了测试,我想创建用户:

错误是:

0 投票
1 回答
300 浏览

ruby-on-rails - 无法使用acts_as_tenant 创建简单模型实例

我正在使用宝石https://github.com/dsaronin/milia。我的模型之一称为组:

但由于某种原因,我无法创建它。这是rails控制台:

但是当涉及到 Group 时,它总是无效的:

怎么了?

0 投票
2 回答
868 浏览

ruby-on-rails - 充当租户 gem 范围所有用户数据,忽略基于子域的范围数据

我正在使用acts_as_tenant gem 来做一个多租户应用程序。我按照说明进行操作。我正在使用子域。

在我的application_controller.rb我有:

set_current_tenant_by_subdomain(:account, :subdomain)

Account作为租户使用。在我的User模型中,我调用了:

问题

当我使用子域(例如:)登录帐户时john.realestate.dev,一切正常(current_tenant即设置了 john)。

我有另一个模型叫做Property; 当当前登录的租户(即 john)创建新属性时,所有其他用户都可以看到该记录。我只希望 john 能够看到他创造的记录。

我哪里错了?

我的模特关系是:-

Account-has_many :users

User-belongs_to :account

Property

0 投票
1 回答
346 浏览

ruby-on-rails - act_as_tenant gem 使用 RSpec/FactoryGirl 创建错误

我正在尝试使用acts_as_tenantgem 来确定多个组织的 SQL 查询范围。然而,RSpec/FactoryGirl 正在使用一些肮脏的技巧。

一点背景知识:在我的应用程序中,User两者Grant都属于Organization. 只有管​​理员用户可以创建/删除Grants。

就像 gem 的文档建议的那样,我已经插入acts_as_tenant :organization了我的GrantUser模型。我也在我set_current_tenant_through_filter的. 查询和仅限于当前用户:before_action :set_organizationapplication_controller.rbUserGrantOrganization

一切似乎都很好。现在编写控制器测试:

管理部分引发了一个奇怪的错误:

因此,即使我已将组织的外键专门传递给 FactoryGirl,它仍然无法识别Organization.

当我注释掉acts_as_tenant特定代码时,错误就会消失。我怎样才能让测试永远变绿?

0 投票
1 回答
191 浏览

ruby-on-rails - 如果使用租户,Rails 设计如何设置确认 URL

我有一个使用 Devise 的 Rails 应用程序,它也使用acts_as_tenant。

在我的应用程序控制器中,我为 url 创建了一个变量(包括租户前缀)。它被称为 $request_url

问题是确认电子邮件中的 URL 不会更改租户前缀。例如一些.website.com 与其他.website.com

如何更改此行以使用正确的 URL?:

我需要创建一条新路线吗?

谢谢您的帮助!

0 投票
1 回答
176 浏览

ruby-on-rails - 太阳黑子搜索 - 忽略默认范围

我正在使用acts_as_tenant在我的模型中注入默认范围的 gem。

我也使用 Sunspot 进行搜索,如下所示:

Article模型的范围是这样的,即使我没有在搜索中传递当前租户 ID,我也只会得到正确的结果(只是总数会被关闭)。

现在,问题:

如果在某些情况下我想忽略默认范围,acts_as_tenant我该如何在 Solr 中做到这一点?这将不起作用:

它将生成不正确的 SQL:

organization_id当前租户的 id在哪里

TL;DR:使用 Sunspot 搜索时如何忽略默认范围?