我有一个嵌套的多态资源,问题,它可能嵌套在考试之下。在UI中,我使用POST作为提交方法动态构建表单。这适用于新操作,POST到/ exam / 1 / questions。
问题是,对于编辑操作,我收到路由错误(没有路由匹配[POST])。我检查了路由并且可以看到这是一个有效的错误 - PUT的路由连接到更新方法。
我的问题是为什么使用POST作为表单方法的脚手架模型的编辑操作正常工作,而我的表单提交生成上面的路由错误。
以下是来自我的routes.rb的路线:
resources :exams do
resources :questions
end
这是动态生成的表单
<form method="POST" action="/exams/1/questions/9">
<input name="authenticity_token" type="hidden" value="XXYYZZ=">
<input name="[question]template" value="Image Answers"><input name="[question]text" value="Which of these is a duck?">
</form>
我知道我可以添加帖子:创建问题的成员来手动映射,但我想知道为什么这不能开箱即用。
答案 0 :(得分:0)
快速测试应用程序显示标准form_for包含指定了put的方法字段。将此字段添加到动态生成的表单中可以解决问题。