redirect_to(URL) and return

Hi..

I am using an API. In that, I have to send data in query string. Now my question is how to get back from that site??? because it is not taking return_url from myside. It gives me response. I want to again redirect to some action according to the returned value. It is not allowing me to redirecting multiple times in the same def.

I have written following code.

<% @url = "www.abc.com/api?name=data" %> <% response = redirect_to(@url) %> <% if response == "true" %>   <% redirect_to :action => 'success' %> <% else %>   <% redirect_to :action => 'failure' %> <% end %>

This code gives me error like "multiple redirection". How to solve this???

Thanks....

First off, this code should not be in a view. Secondly redirect_to just doesn't work like that. redirect_to sends a response back to the browser that tells it to go to the specified url - you'll never see the response from that server or indeed the request. If you want to get data out of some 3rd party api then you need to use something like net/http to make an http request.

Fred

Frederick Cheung wrote:

You need to send a http request in the controller action and use that info to redirect the user.

require 'net/http'

connection = Net::HTTP.new("www.google.com") response = "" connection.start do |http|   req = Net::HTTP::Get.new("/#hl=en&source=hp&q=ruby+on+rails&aq=f&aqi=g10&oq=&fp=c26c79a56c95bda8")   response = http.request(req) end

if(response == "true")   redirect_to(:action => 'success') else   redirct_to(:action => 'failure) end