私はredirect_toを返して余分なパラメータを渡そうとしています。私のコントローラには次のものがあります:redirect_toを使用して余分なパラメータを渡す
redirect_to(env['omniauth.origin'], :hello => "hello world")
これは正しくリダイレクトされていますが、helloは渡されません。アイデア?
私はredirect_toを返して余分なパラメータを渡そうとしています。私のコントローラには次のものがあります:redirect_toを使用して余分なパラメータを渡す
redirect_to(env['omniauth.origin'], :hello => "hello world")
これは正しくリダイレクトされていますが、helloは渡されません。アイデア?
env['omniauth.origin']
は文字列ですか?もしそうなら、私はこれがうまくいくとは思わない。パラメータを次のように追加してみてください。
redirect_to(env['omniauth.origin'] + "?hello=helloworld")
またはそのようなもの
ルートで、それのためにパスを追加して、パラメータとして
redirect_to(route_in_file_path('helloworld'))
は今、あなたは次の操作を行うことができますApplicationController
クラス
class ApplicationController < ActionController::Base
def update_uri(url, opt={})
URI(url).tap do |u|
u.query = [u.query, opt.map{ |k, v| "#{k}=#{URI.encode(v)}" }].
compact.join("&")
end
end
helper_method :update_uri # expose the controller method as helper
end
に機能を追加します。
redirect_to update_uri(env['omniauth.origin'], :hello => "Hello World")
は、あなたのターゲットであるが(omiauth)外部のURL? – Deradon
いいえ外部URLではない – AnApprentice