2012-07-31 40 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 

只需更换父[富]和类似与您在检查发现什么,它都应该工作。如果您想查看请求中的潜在错误,请尾开发日志。