我有一个嵌套的多态资源,问题,它可能嵌套在一项检查之下。在UI中,我使用POST作为提交方法来动态构建表单。这对于新的动作POSTing to /exams/1/questions很有效。
问题是,对于编辑操作,我得到了一个路由错误(没有路由匹配的帖子)。我已经检查了路由,可以看到这是一个有效的错误-有一个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>我知道我可以向问题的成员添加post :create来手动映射它,但我想知道为什么它不能开箱即用。
发布于 2012-09-03 23:34:08
一个快速测试应用程序显示,标准form_for包含一个指定put的方法字段。将此字段添加到动态生成的表单中解决了这个问题。
https://stackoverflow.com/questions/12249310
复制相似问题