私はサブドメインを持つアプリケーションを持っています。ユーザーがルートドメインにログインしたとき。私は彼/彼女を会社のサブドメインにリダイレクトしたい。私はdeviseを使用しています。params in railsでredirect_to
これは、ユーザーのログインがログインフォームの谷、のparams認証のための使用を工夫こと、アクションを作成するに送信されます場合は、私がこれまで
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
を持っているものです。あなたが私のコードで見てきたように、サブドメインが存在するときはログインはうまくいくが、存在しないときはサブドメインとsign_in_at_subdomainへのリダイレクトをしたい。
parmasフォームを作成アクションからsign_in_at_subdomainアクションに渡すにはどうすればよいですか?
私はこのアプローチを使用しましたが、私はそれが好きではありません。トークンはuser.loginable_tokenの下のデータベースに格納されます。 valid_user_urlに行くと、データベースからユーザを取得し、現在のサブドメインにログインします。それは複雑に思えます。私は、ログインフォームからparamsを渡したいだけです。 –
これは私が解決した解決策でした。それは最高のものです。 –