使用 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.urlorrequest.referrer是否来自edit动作,它只会存储/places/2唯一的?
我正在考虑使用正则表达式来检查editID 后的单词,但可能有更简洁的方法。