加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:20:03 所属栏目:百科 来源:网络整理
导读:我有一个博客应用程序,其帖子可以通过帖子控制器中的投票操作接收投票. 因为我允许在索引和显示视图中进行投票,所以我在进行投票后重定向:返回,如下所示. def vote # voting logic goes here redirect_to :backend 这会将我重定向到正确的页面,但我想重定向
我有一个博客应用程序,其帖子可以通过帖子控制器中的投票操作接收投票.
因为我允许在索引和显示视图中进行投票,所以我在进行投票后重定向:返回,如下所示.
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’,这应该这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读