开发者

Possible to create this redirecting route in Rails?

开发者 https://www.devze.com 2022-12-24 00:13 出处:网络
Is i开发者_StackOverflow社区t possible to do a redirect in the routes file of a Rails app? Specifically, I\'d like to forward /j/e to /javascripts/embed.js

Is i开发者_StackOverflow社区t possible to do a redirect in the routes file of a Rails app?

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

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.


In Rails 4 and above

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

In case you need a named route, you may want to add an explicit as parameter:

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

Source: Redirection @ guides.rubyonrails.org


In Rails 3, you can redirect inside the routes.rb file.

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


Assuming rails version prior to 3.

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.


Root path

You can make the root path redirect to an external website:

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

精彩评论

暂无评论...
验证码 换一张
取 消