Ruby on rails Rails条件重定向
我正在尝试为新用户设置一个重定向到帮助页面的方式,类似于当新用户尝试提问新问题时堆栈溢出显示如何提问页面的方式 PostsControllerRuby on rails Rails条件重定向,ruby-on-rails,redirect,Ruby On Rails,Redirect,我正在尝试为新用户设置一个重定向到帮助页面的方式,类似于当新用户尝试提问新问题时堆栈溢出显示如何提问页面的方式 PostsController def new if current_user.posts_count < 5 redirect_to newbieadvice_path else @question = Question.new end end def新建 如果当前用户发布数量小于5 重定向到newbieadvice\u
def new
if current_user.posts_count < 5
redirect_to newbieadvice_path
else
@question = Question.new
end
end
def新建
如果当前用户发布数量小于5
重定向到newbieadvice\u路径
其他的
@新问题
结束
结束
问题是,与堆栈溢出类似,我在“帮助”页面上有一个“转到新帖子”按钮,它会返回到“新帖子”,然后它会返回到“帮助”页面,因为当前的“user.posts”计数仍然小于5
一旦用户进入帮助页面,如何绕过重定向?
从我读到的内容来看,我有两种方法可以做到:
1。如果在视图中,请使用链接到
<%= link_to_if current_user.posts_count < 5 ... %>
不幸的是,用户可以通过直接键入url绕过帮助页面
2。在数据库中使用建议计数器缓存
if current_user.advices_count < 5
如果当前用户数量<5
并在用户访问帮助页面时增加计数。我不确定这是不是最好的办法
所以我需要一种方法
1.将新用户重定向到帮助页面
2.阅读“帮助”页面后,用户可以继续返回“新”帖子,无需重定向
有什么想法吗
使用
request.referer
。因此,在控制器中更改如下:
if URI(request.referer).path != newbieadvice_path && current_user.posts_count < 5
if-URI(request.referer).path!=newbieadvice\u路径和当前用户。帖子数<5
使用请求。参考。因此,在控制器中更改如下:
if URI(request.referer).path != newbieadvice_path && current_user.posts_count < 5
if-URI(request.referer).path!=newbieadvice\u路径和当前用户。帖子数<5
使用请求。参考。因此,在控制器中更改如下:
if URI(request.referer).path != newbieadvice_path && current_user.posts_count < 5
if-URI(request.referer).path!=newbieadvice\u路径和当前用户。帖子数<5
使用请求。参考。因此,在控制器中更改如下:
if URI(request.referer).path != newbieadvice_path && current_user.posts_count < 5
if-URI(request.referer).path!=newbieadvice\u路径和当前用户。帖子数<5
我知道这一定很简单。非常感谢你的快速回复,我知道这一定很简单。非常感谢你的快速回复,我知道这一定很简单。非常感谢你的快速回复,我知道这一定很简单。非常感谢您的快速回复,这样也可以工作,但是Zakwan的代码更简单。许多感谢也可以工作,但扎克文的代码更简单。许多感谢也可以工作,但扎克文的代码更简单。许多感谢也可以工作,但扎克文的代码更简单。非常感谢