ruby-on-rails – 如何将锚添加到redirect_to:back

我有一个博客应用程序,其帖子可以通过帖子控制器中的投票操作接收投票.
因为我允许在索引和显示视图中进行投票,所以我在进行投票后重定向:返回,如下所示.
def Vote
  # voting logic goes here
  redirect_to :back
end

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

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

我怎样才能在redirect_to中引用它:返回?我尝试了以下,这是行不通的.

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

或者,如果我对show和index视图使用if子句,我该怎么做?我尝试了下面的内容,它为VocabsController返回未定义的方法’current_page’.

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

解决方法

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...