1

最初にユーザーをリダイレクトしてから、ユーザーをプログラムでサインインしたいと考えています。

マルチタンシー アプリがあり、ユーザーがルート ドメインにサインインしようとすると、アプリはユーザーをサブドメインにリダイレクトするだけでなく、ユーザーをサインインさせる必要があります。

これまでのところ、次のコードでこれを達成しようとしています:

# In sessions#create ( Root )
redirect_to "http://#{account.subdomain}.localhost.com:3000/users/sign_in"
Apartment::Tenant.switch(account.subdomain)
sign_in(:user, account.owner) # Basically, owner is the user here.

コードを実行すると、サブドメインに正常にリダイレクトされますが、ユーザーはサインインしません。

次のエラーが表示されます。

Completed 302 Found in 93ms (ActiveRecord: 39.7ms)

また、 when I run を実行した後、ログに表示されるクエリは次のようになるため、 schemawhen I doは切り替わりません。Apartment::Tenant.switch(account.subdomain)Apartment::Tenant.switch(account.subdomain)user = User.first

  User Load (0.9ms)  SELECT  "public"."users".* FROM "public"."users"   ORDER BY "public"."users"."id" ASC LIMIT 1

ここでは、サブ ドメインではなく、ルートドメインにpublic対応します。schemaschema

4

1 に答える 1