簡體   English   中英

redirect_to上的Ruby on Rails POST參數

[英]Ruby on Rails POST parameters on redirect_to

我必須在站點上的一個控制器中調用另一個URL。 問題是其他站點需要使用所有參數,但我溢出了URL。 無論如何,是否可以從控制器調用另一個URL並使用POST發送所有參數?

我不希望其他網站有任何回應。 另外,我認為有一種方法可以使用Net :: HTTP庫,但我不確定該怎么做。

謝謝

在HTTP規范中,您無法同時重定向並發送POST數據。 通過發送一個簡單的Location: otherlocation.html標頭來實現重定向。 POST數據不適用於該系統。

您是要用戶轉到該頁面,還是要自己將數據發送到應用程序? 如果要發送數據而不是向用戶發送數據,請使用Ruby的Net :: HTTP模塊。 如果要發送用戶,可能會迫使您輸出帶有表單的視圖,並使用Javascript自動提交。 (不要忘記通過在noscript標簽中提供一個提交按鈕來優雅地降級。)

這是來自ruby docs

require 'net/http'
require 'uri'

result = Net::HTTP.post_form(URI.parse('http://www.example.com/search.cgi'),
    {'q'=>'ruby', 'max'=>'50'})

如您所見,您將參數作為一個方便的哈希值傳遞,這與其他使HTTP格式混亂的語言不同。

您也可以使用閃光燈來傳輸信息。 http://guides.rubyonrails.org/action_controller_overview.html#the-flash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM