問題タブ [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 に答える
360 参照

ruby-on-rails - Rails はテナントとして機能し、Heroku のモデルで nil を取得します

gem 'acts_as_tenant'Rails 3アプリで使用しています。

ドメインに基づいて、アプリケーション コントローラーにテナントを設定します。

current_tenant を使用する必要がある workorder モデルにコードがあります。

私のローカル Mac では、これで問題なく動作します。しかし、Heroku にアップロードすると、次のエラーが発生します。

つまり、ActsAsTenant.current_tenant(Heroku では) nil です。

何故ですか?

助けてくれてありがとう!

更新1

同じモデルがstmt で問題なく使用ActsAsTenant.current_tenantされます。where

UPDATE2

コードをアプリケーションコントローラーに移動しようとしましたが、ローカルでも機能しません:

しかし、私は得る:

更新3

URL のサブドメインに基づいてテナントを検索する別の方法を試しました。ルックアップ コードはビューでは正常に機能しますが、モデルでは機能しませんでした。

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 が新しいプロパティを作成すると、そのレコードは他のすべてのユーザーに表示されます。ジョンだけが作成したレコードを表示できるようにします。

どこが間違っていますか?

私のモデルの関係は次のとおりです:-

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 はいくつかの汚いトリックを実行しています。

ちょっとした背景: 私のアプリではUserGrantどちらもOrganization. を作成/削除できるGrantのは、管理者ユーザーのみです。

宝石のドキュメントのアドバイスのように、私はモデルとモデルに挿入acts_as_tenant :organizationしました。また、 で a を定義しました。とのクエリは、現在のユーザーのみにスコープが設定されています。GrantUserset_current_tenant_through_filterbefore_action :set_organizationapplication_controller.rbUserGrantOrganization

すべてが順調に見えます。コントローラのテストを書きます:

管理部分で奇妙なエラーが発生します。

そのため、組織の外部キーを FactoryGirl に明確に渡しましたが、Organization.

固有のコードをコメントアウトするacts_as_tenantと、エラーはなくなります。テストを完全に緑色にするにはどうすればよいですか?

0 投票する
1 に答える
191 参照

ruby-on-rails - Rails テナントを利用する場合の Confirmation_url の設定方法を工夫する

Devise を使用した Rails アプリがあり、acts_as_tenant も使用しています。

アプリケーション コントローラーで、URL の変数を作成します (テナント プレフィックスを含む)。それは $request_url と呼ばれます

問題は、確認メールの URL でテナント プレフィックスが変更されないことです。たとえば、一部の.website.com と他の.website.comの比較

正しい URL を使用するようにこの行を変更するにはどうすればよいですか? :

新しいルートを作成する必要がありますか?

助けてくれてありがとう!