问题:为什么调用"app.post"总是返回307 on rails控制台?
回答:在Rails控制台中调用"app.post"总是返回307是因为Rails中的"app.post"方法会发送一个POST请求,并返回一个重定向(307)状态码。这是因为Rails框架默认的行为是对于POST请求,如果不指定特定的重定向路径,将会自动重定向到相应的GET请求路径上。
这个行为是为了遵循HTTP协议的重定向规范,并且保持应用程序的一致性。当使用"app.post"方法时,Rails将会模拟一个POST请求,但由于没有指定具体的重定向路径,它会默认使用相应的GET请求路径作为重定向目标。
如果想要避免这种重定向行为,可以在"app.post"方法中指定重定向路径,例如:
app.post '/path/to/post', follow_redirects: false
这样就可以禁用重定向,并直接返回服务器的响应结果。
在Rails开发中,调用"app.post"方法通常用于编写集成测试,用于模拟向应用程序发送POST请求并验证结果。通过指定具体的重定向路径或禁用重定向,可以更好地控制测试过程,并获得预期的结果。
关于Rails控制台和HTTP状态码307的更多信息,可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云