IT TIP

Ruby on Rails의 '뒤로'브라우저 작업

itqueen 2020. 12. 31. 23:16
반응형

Ruby on Rails의 '뒤로'브라우저 작업


Rails '뒤로'링크에서 '뒤로'브라우저 기능을 호출 할 수 있습니까?


Rails 3 및 이전 버전 :

link_to_function "Back", "history.back()"

Rails 4에서는이 방법이 제거되었습니다. Andreas의 의견을 참조하십시오.


사용하다

<%= link_to 'Back', :back %>

이것은 여기 RDoc에 명시되어 있습니다.

이것은 뒤로 탐색하기 위해 일부 자바 스크립트를 생성합니다. 방금 테스트했고 작동합니다.


Rails 4.2에서는 다음과 같이 작동합니다.

<a href="javascript:history.back()">Refine Search</a>

생성 된 코드를 붙여 넣는 동안 원하는 작업을 수행하지 않은 것을 제외하고 @cpm의 대답 에서 이것을 훔쳤습니다 .link_to("Refine Search", :back)<a href="javascript:history.back()">Refine Search</a>


이것은 Turbolinks와 함께 Rails 5.1에서 작동합니다.

link_to 'Back', 'javascript:history.back()'

을 ( link_to("Hello", :back)를) 생성 하는 사용할 수 있습니다 <a href="javascript:history.back()">Hello</a>.


이것은 브라우저 뒤로 버튼을 시도하는 것과 유사하게 작동합니다.

<%= link_to 'Back', 'javascript:history.go(-1);' %>


사용자 rthbound 의이 주석에 주의 하십시오 ! 그가 지적했듯이, link_to기호 :back는 사용자가 브라우저의 뒤로 버튼을 클릭 한 것처럼 항상 "진짜"뒤로 이벤트를 생성하지는 않습니다. 현재보기를로드 한 조치를 다시 제출할 수도 있습니다.

레일 4.2.6에 대한 문서 에 대해이 말한다 link_to:back기호 :

:back옵션 해시 대신 기호를 사용 하면 리퍼러에 대한 링크가 생성됩니다 (존재하지 않는 경우 JavaScript 백 링크가 리퍼러 대신 사용됨).


사용

link_to_function "Back", "history.back()"

브라우저에서 뒤로 버튼을 누르는 것과 똑같은 것 같습니다. 다시 돌아 오면 입력 된 모든 양식 데이터가 그대로 유지됩니다.


나를 좋아한다면 link_to "cancel", :back레코드 색인 경로에 연결하거나 경로를 표시하는 도우미 메서드를 구현할 수 있습니다. (즉 teams_path또는team_path(@team)

module CancelFormButtonHelper
  def cancel_button(record)
    index_path = record.class.to_s.pluralize.downcase + "_path"
    path = record.persisted? ? record : eval(index_path)

    link_to "Cancel", path
  end
end

<%= cancel_button @team %>예를 들어 양식 내에서 사용할 수 있습니다 .


js 함수 window.history.back ()을 사용할 수 있습니다.

 = link_to 'Back', onclick: "window.history.back();"

참조 URL : https://stackoverflow.com/questions/620962/back-browser-action-in-ruby-on-rails

반응형