如何向redirect_to添加锚点:back

2023-11-26

我有一个博客应用程序,其中的帖子可以通过vote帖子控制器中的操作。 因为我允许在索引和显示视图中投票,所以我redirect_to :back投票后,如下。

def vote
  # voting logic goes here
  redirect_to :back
end

这会将我重定向到正确的页面,但我想重定向到页面中的特定帖子。为此,我在我的帖子部分 div 中添加了一个识别锚点。

<div id="post_<%= post.id %>">
  <%= post.content %>
</div>

我如何在我的redirect_to :back?我尝试了下面的方法,但不起作用。

# this doesn't work!
redirect_to :back, anchor: "post_#{@post.id}"

或者,如果我要对显示视图和索引视图使用 if 子句,我该怎么做?我尝试了下面的内容,它返回undefined method 'current_page' for VocabsController.

#this doesn't work!
if current_page?(posts_path)
  redirect_to posts_path(anchor: "post_#{@post.id}"
else
  redirect_to @post
end

深入Rails重定向机制,:back只是意味着重定向到任何内容HTTP_REFERER环境变量(如果该变量中没有任何内容,则引发错误)。所以之前redirect_to :back在你的控制器中添加这一行:env["HTTP_REFERER"] += '#some-id',这应该可以做到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向redirect_to添加锚点:back 的相关文章

随机推荐