POSTing to a different website in a controller action


#1

I have a page that has form that I want to submit to one of my
actions. However, inside of the action, I want to post to a different
website and have the browser go to that website.

The code I found on the groups seems to indicate I should do something
like the following. However, when I do the POST, I only see raw html
in the browser. Anyone have a suggestion on how to do this?

Here’s the action in my controller:

def pre_place_order
parameters = Hash.new
parameters[‘business’] = Variable::paypal_business_account
parameters[‘upload’] = “1”
parameters[‘cmd’] = “_cart”
parameters[‘redirect_cmd’] = “_xclick”
parameters[‘return’] = “http://#{Variable::server_hostname}/
place_order”

idx = 0
for item in @cart.shopping_cart_items do
  idx += 1
  parameters['item_name_#{idx}'] = item.product.name
  parameters['item_number_#{idx}'] = item.product.id.to_s
  parameters['amount_#{idx}'] = item.product.price. to_s

   if item.ship then
    parameters['shipping_#{idx}'] =

item.product.shipping_cost
end
end

uri = URI.parse(Variable::paypal_transaction_url)
http = Net::HTTP.new(uri.host)
headers, res = http.post(uri.path, parameters)
render res

end

Thanks,

Scott


#2

Try

render :text => res

you might also set the content type to text/html…

On May 27, 2007, at 7:23 PM, Scott wrote:

for item in @cart.shopping_cart_items do

Steve R.
removed_email_address@domain.invalid
http://www.calicowebdev.com