路线中的条件重定向

时间:2011-08-16 09:24:34

标签: ruby-on-rails-3 routing

我想在路线文件中进行条件重定向。

用户可以选择为其网站设置更短的网址。当这个短网址可用但是使用了更长的网址时,我总是希望将它们重定向到较短的版本。例如:用户访问fubar.mysite.com但fubarsite.com可用 - >从fubar.mysite.com重定向到fubarsite.com。

我将可用的较短网址存储在数据库中。

我想在路线中这样做,但不知道这是否可行。我尝试了约束方法,但不知道如何在块

中进行重定向
constraints(Redirect) do
 #need to redirect here
end 

1 个答案:

答案 0 :(得分:3)

我认为你不应该在你的路由文件中这样做,因为它涉及很多逻辑。也许您想在应用程序控制器中设置before_filter并在那里进行检查。如果较短的网址可用,则执行重定向。你需要在路由文件中捕获所有路由来执行此操作。