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

前端之家收集整理的这篇文章主要介绍了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’,这应该这样做.
原文链接:https://www.f2er.com/ruby/270696.html

猜你在找的Ruby相关文章