Rails有助于创建重定向动作和路由

时间:2011-09-15 14:21:22

标签: ruby-on-rails ruby ruby-on-rails-3

我正在尝试创建路线和重定向参数的动作。

用户访问时的示例:www.mywebsite.com/photographer/flv/:ID/:filename

我希望将用户重定向到:www.someotherwebsite.com/photographer/flv/:ID/:filename

我试图在没有运气的情况下完成这个解决方案:

我的控制器网址:

def videore
redirect_to www.whateverwebsite.com + params[:all] 
end

在路线中:

match '/photographer/flv/:ID/:filename' => 'URL#videore'

2 个答案:

答案 0 :(得分:1)

这应该这样做:

在您的控制器操作中:

def videore
  redirect_to "http://www.whateverwebsite.com/photographer/flv/#{params[:id]}/#{params[:filename]}"
end

在路线中:

match '/photographer/flv/:id/:filename' => 'url#videore'

当然,这假定'url'是控制器的名称

答案 1 :(得分:0)

来自Ruby on Rails Guide

match "/stories/:name" => redirect("/posts/%{name}")
  

在所有这些情况下,如果您不提供主要主机   (http://www.example.com),Rails将从中获取这些细节   当前的要求。

因此,重定向到另一个TLD应该像这样工作(不需要控制器中的操作):

match '/photographer/flv/:ID/:filename' => redirect("http://www.someotherwebsite.com/photographer/flv/%{ID}/%{filename}")