Ruby on rails 嵌套多态资源的编辑路径

Ruby on rails 嵌套多态资源的编辑路径,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,我有一个嵌套的多态资源,question,它可能嵌套在考试下面。在UI中,我使用POST作为提交方法动态构建表单。这适用于新操作,即发布到/tests/1/问题 问题是,对于编辑操作,我得到了一个路由错误(没有匹配的路由[POST])。我已经检查了路由,可以看出这是一个有效的错误-有一个连接到update方法的PUT路由 我的问题是,为什么使用POST作为表单方法的脚手架模型的编辑操作能够正确工作,而我的表单提交会产生上述路由错误 以下是my routes.rb中的路线: resources

我有一个嵌套的多态资源,question,它可能嵌套在考试下面。在UI中,我使用POST作为提交方法动态构建表单。这适用于新操作,即发布到/tests/1/问题

问题是,对于编辑操作,我得到了一个路由错误(没有匹配的路由[POST])。我已经检查了路由,可以看出这是一个有效的错误-有一个连接到update方法的PUT路由

我的问题是,为什么使用POST作为表单方法的脚手架模型的编辑操作能够正确工作,而我的表单提交会产生上述路由错误

以下是my 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添加到问题的成员中以手动映射,但我想知道为什么这不能开箱即用

一个快速测试应用程序显示,的标准表单_包含一个指定put的方法字段。将此字段添加到动态生成的表单中解决了此问题

正如我在问题中所说的那样,如果没有看到问题中的代码(你的
表单
),很难帮助你。我正在动态生成表单以供提交,但我已经在上面添加了生成的表单。这不是你的
表单
,这是呈现的HTML。我没有使用form_,因为我使用javascript UI创建表单并提交表单。