tenant_id
多くのモデルに関する列を持つマルチテナント Rails アプリがあります。
特定のテナントに属する各モデルには、テナント クラスのクラス変数に基づくデフォルトのスコープがあります。
default_scope { where(tenant_id: Tenant.current_id) }
Tenant.current_id
アプリケーションコントローラに設定されています。
問題は、テナント スコープのオブジェクト (つまり ) に関するメールを (遅延ジョブ経由で) 送信すると、メーラー内で何かを呼び出すたびにsUserMailer.delay.contact_user(@some_user_in_a_specific_tenant)
を取得することです。おそらく、遅延ジョブ プロセスが を設定していないためです。NoMethodError
nilClass
@some_user_in_a_specific_tenant
Tenant.current_id
渡したオブジェクトに DJ がアクセスできるようにするにはどうすればよいですか?