On Wednesday, 3 September 2014 11:07:53 UTC-4, Ruby-Forum.com User wrote: > > I'm trying to set up a route to redirect to my monit interface, but I'm > not sure how to do it. what I'd like is my https://domain.com:3000/monit > to redirect to http://domain.com:2812 . > I tried: > > get "/monit" => redirect("#{request.protocol}#{request.host}:2812") > > in my config.rb, but it doesn't seem to know about request, base_url or > anything else I can find. > > Using double-quotes here will not do what you want - they get evaluated when the routes file is loaded, not per-request. For this case, the block form of redirect is probably what you want:
get 'jokes/:number', to: redirect { |params, request| path = (params[:number].to_i.even? ? "wheres-the-beef" : "i-love-lamp") "http://#{request.host_with_port}/#{path}" } See the docs for ActionDispatch::Routing::Redirection for more info. --Matt Jones -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/f0f71ba3-74ad-4d1e-baa8-4fe29cb7ca92%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.