Я хочу сначала перенаправить пользователя, а затем программным образом подписать пользователя.Как войти в аккаунт после перенаправления через Rails?
Я приложение мульти-tanancy, и когда пользователь пытается войти в систему на корневом домене, мое приложение должно не только перенаправить пользователя на его суб-домен, но и подписать пользователя в.
до сих пор я пытаюсь сделать это с помощью следующего кода:
# 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)
Кроме того, он не переключает schema
когда я 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
соответствует schema
корневого домена, а не schema
поддомена.