facebook の omniauth を使用して、コールバックで処理するために URL にいくつかの追加パラメーターを渡したいと思います。
これに関する多くのドキュメントを見つけました (公式ドキュメントに加えて、これは、たとえば: Devise + Omniauth - How to pass extra parameters along? )。しかし、誰も私のために働いていませんでした。
使用:
omniauth_authorize_path(:user, :facebook, msg: 'Hello')
この URL を生成します。
/users/auth/facebook?locale=fr
なぜそれが機能しないのか考えていますか?ありがとう。
アップデート:
このパラメーターは、URL でlocale=fr
常に a を使用するようにアプリケーションに要求したためです。locale
私のapplication_controller.rbは次のメソッドを使用します。
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
# Always add :locale parameter to URL
def url_options
{:locale => I18n.locale}.merge(super)
end
end
url_optionsメソッドを削除しても問題は解決せず、次の URL が表示されます。
/users/auth/facebook