我需要能夠在當前頁面上設置我的導航,具體取決於用戶所在的頁面。Rails 3 - 從當前控制器檢索上次訪問的動作/控制器
如
pageX屬性=> pageA的(tab1selected) pageY => pageA的(tab2selected)
我從閱讀你可以使用request.env [ 「HTTP_REFERER」]知道,但我看,這並不總是得到如果用戶有防火牆等回報
我在我的應用程序中使用如果有幫助的設計。
有沒有另一種方法?
感謝 亞歷克斯
我需要能夠在當前頁面上設置我的導航,具體取決於用戶所在的頁面。Rails 3 - 從當前控制器檢索上次訪問的動作/控制器
如
pageX屬性=> pageA的(tab1selected) pageY => pageA的(tab2selected)
我從閱讀你可以使用request.env [ 「HTTP_REFERER」]知道,但我看,這並不總是得到如果用戶有防火牆等回報
我在我的應用程序中使用如果有幫助的設計。
有沒有另一種方法?
感謝 亞歷克斯
雖然不是一個快速的解決方案,它的工作原理:
在結束每個控制器與視圖,調用一個方法來設置你的店在會話當前的行動。如果您使用多個控制器,則爲控制器創建另一個變量。
例如
def index
... # your stuff
set_action("index")
end
protected
def set_action(action_name)
session[:action]=action_name
#session[:controller]="my_controller_name"
end
可以在每個控制器重建set_action方法,或做一個助手,然後用2個參數:
def last_visited(action_name, controller_name)
session[:action]=action_name
session[:controller]=controller_name
end
這個問題被問得很久以前,但對於其他人查看此,我的解決方案(雖然有點破解)是:
url = Rails.application.routes.recognize_path(request.referrer)
last_controller = url[:controller]
last_action = url[:action]