我想通過HTTP#post_form
從外部Ruby腳本發送POST請求到Rails應用程序。該請求是針對create
動作(即,該URI是http://server/controller
)。從外部腳本創建新的rails數據庫記錄?
如果我編碼一個參數到請求,一切都很好:
HTTP::post_form(uri, { :my_param => "value" })
雖然我必須明確地從params
手動拉出my_param
,在控制器中。這看起來效率不高,並且會在應用程序本身內部創建新記錄(因爲該參數不存在)。因此,我試圖讓自己的腳本像Rails本身一樣,按照控制器期望的那樣傳遞適當的數據,例如,
HTTP::post_form(uri, { :object => { :my_param => "value" } })
但是,這是行不通的。 post_form
似乎逃避我的哈希成不同的東西,即
{ "object" => [\"my_param\", \"value\"] }
這顯然不會做同樣的事情。我在傳遞數據的方式中缺少明顯的東西嗎?或者我能否達到我的目標(從應用程序外部創建新記錄)?
優秀,作品謝謝!但是,當值是數組時它似乎分解了。你不會碰巧知道如何處理這種情況嗎? – kfb
查看我編輯的帖子 –
太棒了,這是正確的排序。乾杯! – kfb