可以在Rails中创建这个重定向路由吗?

时间:2010-03-25 21:14:03

标签: ruby-on-rails redirect routes

是否可以在Rails应用程序的路径文件中进行重定向?

具体来说,我想将/j/e转发给/javascripts/embed.js

现在我能想到的唯一方法就是使用j方法创建一个e控制器,重定向到该控制器。

3 个答案:

答案 0 :(得分:159)

使用Rails 3,您可以在routes.rb文件中重定向。

match "/posts/github" => redirect("http://github.com/rails.atom")

在Rails 4中:(感谢@dennis)

get '/stories', to: redirect('/posts')

答案 1 :(得分:6)

假设3之前的rails版本。

您可以在现有控制器中创建新的RedirectController或将单个功能收起来,执行以下操作:

map.js_embed '/j/e',
    :controller => :redirect_controller,
    :action => :some_function,
    :path => "embed"

然后你的功能会这样做:

def some_function
  if params[:path]
    redirect_to "/javascripts/#{params[:path]}.js"
  end
end

或者那种效果。

答案 2 :(得分:0)

根路径

您可以将根路径重定向到外部网站:

root to: redirect('https://www.lucascaton.com.br/en')