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.

Reply via email to