2011-04-28 7 views

답변

22

당신은

request.referer 
+2

그러나 referrer는 전체 URL을 제공합니다. 나는 경로가 필요합니다 – rails101

+9

http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/classes/URI.html#M009387 – Fivell

+2

도움이되는 링크, @ Fivell을 가져 주셔서 감사합니다. 나는 미래의 방문자가 링크 썩음으로 괴롭히지 않도록이 스레드 자체에 대한 정보를 포함하는 대답을 추가했습니다. – chadoh

104

request.referer와 리퍼러를 액세스 할 수있는 문자열을 반환하지만 당신은 그것을 포장 Ruby's URI Module를 사용하고 단순히 경로를 요청할 수 있습니다 :

if URI(request.referer).path == '/adsense' 
+4

그 URI (request.referer) 라인을 사용하고 있으며 URI를 계속 가져옵니다. :: InvalidURIError : 잘못된 URI (URI가 아닌가요?) 오류가 발생했습니다. 어떤 아이디어 일 수 있니? – kateray

+0

더 많은 정보 없이는 무엇이 될지 말하기 어렵습니다. 로그에'request.referer' 만 출력하면 Ruby가 왜 그것을 좋아하지 않을지 알 수 있습니다. (추신 : 다른 질문에 대한 답변에 대한 의견이 아닌 별도의 질문으로 질문 할 수 있습니다 .-)) – chadoh

+0

[이 질문에 답변] (http://stackoverflow.com/questions/17148470)/ignore-urirequest-referer-path-for-previous-url-when-visit-to-a-pa)'URI :: InvalidURIError'에 대해 더 많은 것을 배울 수 있습니다. –

1

요청을 얻기 위해이 시도 리퍼러 경로

request.env['HTTP_REFERER'].sub(request.base_url, '') => '/adsense' 
관련 문제