我試圖使用覆蓋設計的#after_sign_in_path_for以重定向到任何用戶的最後URL頁面或根路徑:地帶參數會話[:previous_url]在Rails的
# Redirects on successful sign in
def after_sign_in_path_for(resource)
puts session[:previous_url]
if session[:previous_url] != email_confirmation_url
session[:previous_url] || root_path
else
root_path
end
end
我不如果previous_url與email_confirmation_url相同,則希望它重定向到上一頁。但是,我的問題是,即使有參數添加到會話結尾[:previous_url],我也希望該規則保持不變。我遇到的問題是,
email_confirmation_url == /users/confirmation
session[:previous_url] == /users/confirmation?confirmation_token=HGESMzRz2sz1UbsvudSS
或其他一些令牌值。我想從URL中除去確認標記或任何其他參數,然後進行比較。我怎樣才能做到這一點?如果使用start_with?session[:previous_url]
開始與email_confirmation_url
if session[:previous_url].split('?').first != email_confirmation_url
session[:previous_url] || root_path
else
root_path
end
您也可以檢查:
這不會提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 - [來自評論](/評論/低質量帖/ 11544323) – Nabin
老兄你讀的問題,他只問如何不包括在網址 – Lymuel
@SpiderMan參數,爲什麼你不只是發佈你的意見或評論而不是批評別人的答案? – Lymuel