2011-02-25 3 views
3

Iphone 웹 응용 프로그램에서 작동하는 뒷면 기능을 얻으려고합니다.레일 3, 브라우저 뒷면 기능

이 문제에 대한 다른 모든 게시물을 살펴 보았지만 그 중 특정 사례는 다루지 않았습니다.

이것은 제 행동 순서입니다.

홈 페이지 -> 이벤트 페이지 (사람 이름 클릭) - 지금> 사람 페이지

, 내가 '뒤로'를 <% = LINK_TO을 가지고 : 이벤트 페이지와 사람 모두 백 %> 페이지. 이런 종류의 구현에서는 사람 페이지에서 뒤로 클릭하면 예상대로 이벤트 페이지로 이동합니다. 그러나 이벤트 페이지에서 뒤로 클릭하면 사람 페이지로 되돌아갑니다. 그 사람 페이지는 내가 보낸 페이지이기 때문입니다. (예상되는 기능과 브라우저 뒤로 버튼의 기능은 나를 홈 페이지로 데려다 줄 것입니다) ..

누구든지 레일에서이 기능을 사용할 수 있습니까? 레일에서

+1

JavaScript가 활성화되어 있는지 확인하십시오. 페이지의 HTML 코드를 게시하십시오. javascript : history.back() – Zepplock

+1

감사합니다. Zepplock. <% = link_to "Back", % back>을 <% = link_to "Back"로 변경하면 'javascript : history.back()'%> 일이 잘되었습니다. 나는 그것이 그것이 단순 할 것이라고 기대하지 않았다. <% = link_to "Back", back : back %>의 HTML은 javascript가 아닌 URL 자체입니다. Chrome에서 Javascript를 사용하도록 설정했습니다. 왜 이런 경우인지 나는 모르겠다. – zacropetricopus

답변

11

documentation for the link_to 방법 당신은 읽을 수

(...)를 사용 : 다시는 참조 페이지에 링크 - 자바 스크립트 다시 링크가 참조 자 대신에 사용할 수 경우 없음

존재 그리고 당신은 url_for method의 코드에서 그것을 볼 수 있습니다

when :back 
    controller.request.env["HTTP_REFERER"] || 'javascript:history.back()' 
else 

귀하의 경우 이벤트 페이지의 리퍼러는 사람 페이지입니다. @ Zepplock이 지적한 것처럼 javascript:history.back(), this is the same as clicking the Back button을 하드 코딩하려고합니다.