問題タブ [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.
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 のサブドメインに基づいてテナントを検索する別の方法を試しました。ルックアップ コードはビューでは正常に機能しますが、モデルでは機能しませんでした。
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
ruby-on-rails - act_as_tenant gem が RSpec/FactoryGirl を使用してエラーを作成している
acts_as_tenant
gem を使用して、SQL クエリの範囲を複数の組織に限定しようとしています。ただし、RSpec/FactoryGirl はいくつかの汚いトリックを実行しています。
ちょっとした背景: 私のアプリではUser
、Grant
どちらもOrganization
. を作成/削除できるGrant
のは、管理者ユーザーのみです。
宝石のドキュメントのアドバイスのように、私はモデルとモデルに挿入acts_as_tenant :organization
しました。また、 で a を定義しました。とのクエリは、現在のユーザーのみにスコープが設定されています。Grant
User
set_current_tenant_through_filter
before_action :set_organization
application_controller.rb
User
Grant
Organization
すべてが順調に見えます。コントローラのテストを書きます:
管理部分で奇妙なエラーが発生します。
そのため、組織の外部キーを FactoryGirl に明確に渡しましたが、Organization
.
固有のコードをコメントアウトするacts_as_tenant
と、エラーはなくなります。テストを完全に緑色にするにはどうすればよいですか?
ruby-on-rails - Rails テナントを利用する場合の Confirmation_url の設定方法を工夫する
Devise を使用した Rails アプリがあり、acts_as_tenant も使用しています。
アプリケーション コントローラーで、URL の変数を作成します (テナント プレフィックスを含む)。それは $request_url と呼ばれます
問題は、確認メールの URL でテナント プレフィックスが変更されないことです。たとえば、一部の.website.com と他の.website.comの比較
正しい URL を使用するようにこの行を変更するにはどうすればよいですか? :
新しいルートを作成する必要がありますか?
助けてくれてありがとう!