我如何 - 在Rails中 - 从一个网站(网址)接收获取请求,然后保存参数,并生成另一个网站的新网址,其他参数(从db计算),并重定向到它?
我对中间的步骤没有问题(例如保存到db,接收参数)。主要问题是如何收到get请求,并在Rails中发送get请求。
我根据以下问题看到:How make a HTTP request using Ruby on Rails?我可以使用Net::HTTP
类。然而,似乎他们专注于从另一个网站请求一些数据,而在这里我们从一些网站接收点击并想要重定向到另一个网站。
我的问题是: 1.我如何将该人所到达的URL保存为变量(我需要从那里获得一个参数)? 2.如何在步骤结束时将用户重定向到新URL(保存,解析新URL等)? 3.我在哪里执行这两项主要行动?在控制器?这是我的直觉,然而,视图是否持有相关网址?人们所指的相关索引网址在哪里?
答案 0 :(得分:5)
也许我不太了解这个问题,但是,假设你的static_pages #index正在接收get请求:
你的StaticPagesController中的:
def index
incoming_url = request.referer # this catch the incoming url, including its params
incoming_url_params = URI(incoming_url).query # this returns an string with the incoming url params
new_url = do_something_with_the_url_and_its_params_internally(incoming_url, incoming_url_params)
redirect_to new_url
end
作为一个例子来自http://www.wikipedia.org?lang=es
的人,incoming_url
和incoming_url_params
将是“lang = es”
希望有所帮助