使用 Rails 3.2。我的应用程序中有以下内容:
# application_controller.rb
def store_location
session[:return_to] = request.url
end
def store_referrer_location
session[:return_to] = request.referrer
end
# user_sessions_controller.rb
def destroy
store_referrer_location if session[:return_to].blank?
current_user_session.destroy
flash[:success] = "Logout successful!"
redirect_back_or_default root_url
end
如果我在/places/2/edit
,然后我单击注销,session[:return_to]
将存储/places/2/edit
并尝试重定向回/places/2/edit
,然后/login
再次重定向到。
我如何检测request.url
orrequest.referrer
是否来自edit
动作,它只会存储/places/2
唯一的?
我正在考虑使用正则表达式来检查edit
ID 后的单词,但可能有更简洁的方法。