2015-12-02 23 views
5

我需要將用戶搜索查詢存儲在我們的數據庫中用於跟蹤搜索歷史記錄。我知道request.original_url會給我查詢字符串作爲絕對網址。Rails 4 - request.original_fullpath和request.fullpath之間的區別是什麼

http://www.example.com/search?utf8=%E2%9C%93&keywords=cars&view=grid 

我寧願存儲相對的url路徑。這就是說,對於所有參數的相對url有什麼區別request.original_fullpathrequest.fullpath?他們似乎是同一件事?

request.original_fullpath

/search?utf8=%E2%9C%93&keywords=cars&view=grid 

request.fullpath

/search?utf8=%E2%9C%93&keywords=cars&view=grid 

回答

7

original_fullpath返回與包括其PARAMS最後一個請求的路徑字符串。

fullpath返回String完整路徑,包括請求的最後一個URL的參數。

original_fullpathfullpath之間的差別在於,original_fullpath方法不包括都不在原始URL參數(即分別通過POST發送GET代替即參數)。

+0

我很欣賞這種迴應。它對我仍然有點困惑。對我來說,這聽起來像我想要使用完整路徑,因爲我們的搜索是使用GET請求方法,有時一些請求正在通過ajax完成。我想確保我始終捕獲完整的請求網址。 –

+0

@Bryan,確切地說,'original_fullpath'不會包含POST方法params,所以如果你總是想捕獲這些參數,那麼使用'fullpath'是最好的選擇。如果您有任何其他問題,請告訴我。 –

相關問題