Ruby on Rails中的"返回"浏览器操作

ala*_*dey 55 browser ruby-on-rails

可以从Rails'Back'链接调用'Back'浏览器功能吗?

Til*_*dor 181

使用

<%= link_to 'Back', :back %>
Run Code Online (Sandbox Code Playgroud)

这是在RDoc的specificied 这里

这会生成一些Javascript以向后导航.我刚试过它,它确实有效.

  • 它不像"后退"按钮那样"完全".所有输入的表格数据都被清除. (9认同)
  • 当`request.referer`存在时,这不会使用`javascript:history.back()`. (2认同)
  • 如果在两页上都具有此后退按钮,它将导致用户在这两页之间来回切换。它实际上并没有遍历历史。 (2认同)

Sop*_*ert 25

在Rails 3及更早版本中:

link_to_function "Back", "history.back()"
Run Code Online (Sandbox Code Playgroud)

在Rails 4中,此方法已被删除.见安德烈亚斯的评论.

  • 请注意,Rails 4.1中的link_to_function已折旧.更多信息:http://stackoverflow.com/questions/14324919/status-of-rails-link-to-function-deprecation (5认同)

Jay*_*een 10

在Rails 4.2中,我得到了它:

<a href="javascript:history.back()">Refine Search</a>
Run Code Online (Sandbox Code Playgroud)

我从@cpm的答案中偷走了这个,除了那些link_to("Refine Search", :back)没有完成我想要的工作,同时粘贴生成的代码<a href="javascript:history.back()">Refine Search</a>做得很完美.


Har*_*rel 10

这与Rails 5.1和Turbolinks一起使用.

link_to 'Back', 'javascript:history.back()'
Run Code Online (Sandbox Code Playgroud)


cpm*_*cpm 8

你可以link_to("Hello", :back)用来生成<a href="javascript:history.back()">Hello</a>.