中创建这个重定向路由吗

中创建这个重定向路由吗

本文介绍了可以在 Rails 中创建这个重定向路由吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Is it possible to do a redirect in the routes file of a Rails app?

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

Specifically, I'd like to forward /j/e to /javascripts/embed.js

现在我能想到的唯一方法是创建一个 j 控制器,并带有一个重定向到该控制器的 e 方法.

Right now the only way I can think to do it is to create a j controller with an e method that redirects to that.

推荐答案

假设 rails 版本早于 3.

Assuming rails version prior to 3.

您可以创建一个新的 RedirectController 或将单个函数隐藏在现有控制器中,以执行以下操作:

You can create a new RedirectController or tuck a single function away in an existing controller, to do something like the following:

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

然后你的函数会这样做:

Then your function would do this:

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

或达到这种效果的东西.

or something for that effect.

这篇关于可以在 Rails 中创建这个重定向路由吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 14:56