2015-12-02 12 views
5

Ho bisogno di memorizzare le query di ricerca degli utenti nel nostro db per tracciare la cronologia delle ricerche. So che request.original_url mi fornirà la stringa di query come URL assoluto.Rails 4 - Qual è la differenza tra request.original_fullpath e request.fullpath

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

Preferirei memorizzare il percorso relativo dell'URL. Detto questo, per un url relativo con tutti i parametri qual è la differenza tra request.original_fullpath e request.fullpath? Sembrano essere la stessa cosa?

request.original_fullpath

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

request.fullpath

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

risposta

7

original_fullpath restituisce una stringa con l'ultimo percorso richiesto compresi i loro params.

fullpath restituisce il percorso completo della stringa compresi i parametri dell'ultimo URL richiesto.

La differenza tra original_fullpath e fullpath è che, original_fullpath metodo non include parametri che non erano nel URL originale (cioè parametri che sono stati inviati tramite POST invece di GET).

+0

Apprezzo la risposta. È ancora un po 'di confusione per me. Per il mio caso, sembra che vorrei utilizzare fullpath poiché la nostra ricerca utilizza il metodo di richiesta GET e talvolta alcune richieste vengono fatte tramite ajax. Voglio assicurarmi di catturare sempre l'url della richiesta completa. –

+0

@Bryan, Esattamente, 'original_fullpath' non include i parametri del metodo POST, quindi se vuoi sempre catturare i parametri, usare' fullpath' è la strada da percorrere. Fammi sapere se hai altre domande. –

Problemi correlati