У меня есть приложение с субдоменами. Когда пользователь входит в корневой домен. Я хочу перенаправить его/ее в субдомен фирм. Я использую устройство.redirect_to с параметрами в рельсах
Это то, что я до сих пор
def create
subdomain = request.subdomain
user = User.find_by_email(params[:user][:email])
if subdomain.present?
resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
redirect_to statistics_url
else
redirect_to sign_in_at_subdomain_url(:subdomain => user.firm.subdomain), :params => params
end
end
def sign_in_at_subdomain
resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
redirect_to statistics_url
end
Когда пользователь Войти корыта регистрационную форму, PARAMS отправляется к созданию действия, что изобрести использование для аутентификации. Как вы видите в моем коде, когда присутствует поддомен, логин работает отлично, но когда он отсутствует, я хочу сделать перенаправление на субдомен и sign_in_at_subdomain.
Как я могу передать parmas форму формы через действие create к действию sign_in_at_subdomain?
Я использовал этот подход, но мне он не нравится. Он хранит токен в базе данных под user.loginable_token. Когда он переходит к valid_user_url, он извлекает пользователя из базы данных и регистрирует его в текущем субдомене. Кажется, это сложно. Я просто хочу передать параметры формы формы входа. –
Это было решение, с которым я закончил. Это лучший. –