Possible to create this redirecting route in Rails?
Ruby on-RailsRedirectRoutesRuby on-Rails Problem Overview
Is it 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.
Ruby on-Rails Solutions
Solution 1 - Ruby on-Rails
In Rails 4 and 5: (thanks @dennis)
get '/stories', to: redirect('/posts')
In Rails 3, you can redirect inside the routes.rb file.
match "/posts/github" => redirect("http://github.com/rails.atom")
Solution 2 - Ruby on-Rails
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.
Solution 3 - Ruby on-Rails
Root path
You can make the root path redirect to an external website:
root to: redirect('https://www.lucascaton.com.br/en')