每个用户请求仅使用before_filter一次

时间:2012-11-27 20:56:43

标签: ruby-on-rails

我有一个网站的移动版本,如果检测到移动设备(root_path),主页上的加载(home_mobile_path)将重定向到移动版本。我在主页操作上放置了一个前置过滤器以检查设备,但我只希望它在过滤器之前执行一次,以便允许用户访问主页(root_path),而不必始终重定向到主页移动版本,如果他们想要从移动设备上看到实际的主页。

可以为此制作另一个页面和路径,但这似乎不是d.r.y。

1 个答案:

答案 0 :(得分:3)

您可以在session哈希中存储一个标记,并确保重定向仅发生一次

unless session[:mobile_redirect]
  session[:mobile_redirect] = true
  redirect_to home_mobile_path
end