2012-08-16 2 views

답변

6

:

redirect_to (옵션 = {} = {} response_status)

옵션에 지정된 타겟 브라우저를 리디렉션. 이 매개 변수는 다음 세 가지 형식 중 하나를 취할 수 있습니다.

해시 - 옵션과 함께 url_for를 호출하면 URL이 생성됩니다.

레코드 - URL은 옵션과 함께 url_for를 호출하여 생성되며 해당 레코드의 명명 된 URL을 참조합니다.

프로토콜 (예 : http : //) 또는 프로토콜 상대 참조 (예 : //)로 시작하는 문자열 - 리디렉션의 대상으로 바로 전달됩니다.

String을 첫 번째 인수로 전달하므로 3 번째 옵션이 사용됩니다. 두 번째 매개 변수는 response_status 매개 변수의 값으로 해석됩니다.

리디렉션이 내부 앱인 경우 (동일한 앱으로), 스킴과 호스트 이름을 지정할 필요가 없습니다. 그것은 외부 URL 있다면 그냥

redirect_to root_url(param1 => 'abc', param2 => 'xyz') 

를 사용하여 리디렉션하기 전에 전체 URL을 구축 :

url = "www.mysite.com/?param1=abc&params2=xyz" 
redirect_to url 
2

당신이 그들을 병합하지 않는 한 이전 PARAMS에 대해 알고 그들을에 전송하지 않습니다.

url = "www.mysite.com/?param1=abc" 
p = params.merge({:param2 => 'xyz'}) 
redirect_to(url, p) 
3

은 루비 기능이 아니지만 일반적으로 Ruby on Rails에서 사용됩니다. 작동 예제가 많은 here으로 설명서를 찾을 수 있습니다.

일반 Ruby에서 웹 사이트를 열고 싶다면 'open-uri'클래스를 사용하십시오. 문서 here을 찾을 수 있습니다.

redirect_to이 일반 Ruby에서 작동하지 않는 이유를 이해하고 Rails와 함께 사용하거나 사용하지 않는 데 도움이되기를 바랍니다.