1
我使用公寓和設計創業板穆蒂租戶和認證。設計:登錄用戶,並重定向到子域
我在根域URL(example.com
)中有一個sign_up
頁面,我從中獲取用戶的子域詳細信息。
我需要sign_in
用戶成功保存記錄並重定向到新的子域(sub.example.com
)。
公寓架構:
帳戶=>通用於所有模式(公共)
用戶=> seperately會爲每個模式(私人)
這個RegistrationController:
class Users::RegistrationsController < Devise::RegistrationsController
...
...
def create
ActiveRecord::Base.transaction do
@account = Account.new(account_params)
if @account.valid?
# Create & switch to the new tenant
Apartment::Tenant.create(@account.subdomain)
Apartment::Tenant.switch!(@account.subdomain)
@account.save
sign_in(:user, @account.user)
redirect_to root_url(subdomain: "#{Apartment::Tenant.current}")
else
render :action => 'new'
end
end
end
...
...
protected
def account_params
params.require(:account).permit(:name, :subdomain, user_attributes: [:first_name, :last_name, :email, :password, :password_confirmation])
end
end
上面的代碼成功地重定向到新的子域,但是,雖然我在重定向之前在用戶中進行簽名,但它並未在用戶中籤名。
請人幫我將用戶重定向爲signed_in
到新的子域。
謝謝。
是否重定向到'root_url'保留會話cookie? – 31piy
@ 31piy,我試圖消除在root_url認證,並試圖在打印控制器動作會議'p會話[「warden.user.user.key」]',但它返回'nil' –
請檢查會話ID之前相同並在重定向之後。 – 31piy