2012-07-31 72 views
2

我已經創建了嵌套表單並且想要從終端進行測試。我如何使POST請求創建2個記錄 - 一個用於父母,另一個用於孩子 - 一次?通過終端測試導軌嵌套表單POST

+0

我不明白 - 如果你正在談論一個你想測試的html表單,我會假設(如果不是寫規格)你會啓動一個瀏覽器來測試它。 – bento 2012-07-31 07:41:25

回答

2

Pry可以提供幫助。這不是「測試」,而是更多的終端「調試」。

gem 'pry' 
bundle install 

,並在行動開始接受POST請求,讓我們說創造;

def create 
    binding.pry 
    ... 
end 

瀏覽器不會迴應,但你會得到你想要在你的終端。

查看this railscast瞭解更多信息。

-1

如何使用rspec測試框架?

+0

該問題具體問如何在終端中做到這一點,這在很多情況下是完全合理的。 – Digitalex 2012-07-31 09:13:37

+0

Rspec從終端工作,不是嗎? – freeze 2012-08-01 13:09:50

+0

我真的不明白爲什麼不使用正常和強大的測試,而不是通過控制檯手工製作的請求。 – freeze 2012-08-13 22:47:03

0

HTTP方式,嵌套表單與常規表單沒有區別。 Rails使用字段的命名來將父數據與子數據分開。使用瀏覽器的檢查器檢查手動填寫表單時發送的HTTP請求。從那裏,你可以看到所有使用的字段的名稱。然後,在終端,通常可以做這樣的事情:

curl --data "parent[foo]=1&child[bar]=2" http://myapp.dev/parent/create 

只需更換父[富]和類似與您在檢查發現什麼,它都應該工作。如果您想查看請求中的潛在錯誤,請尾開發日誌。