我試圖返回redirect_to並傳遞額外的參數。這裏是我在我的控制器中有:使用redirect_to並傳遞額外參數
redirect_to(env['omniauth.origin'], :hello => "hello world")
這是重定向到URL正確,但你沒有被傳遞。想法?
我試圖返回redirect_to並傳遞額外的參數。這裏是我在我的控制器中有:使用redirect_to並傳遞額外參數
redirect_to(env['omniauth.origin'], :hello => "hello world")
這是重定向到URL正確,但你沒有被傳遞。想法?
是env['omniauth.origin']
a String?如果是這樣,我認爲這不可行。您可以嘗試添加參數爲:
redirect_to(env['omniauth.origin'] + "?hello=helloworld")
或其他相關內容。
添加路徑它在你的路線,並通過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)外部網址? – Deradon 2012-04-05 23:50:32
不,它不是一個外部URL – AnApprentice 2012-04-05 23:55:11