我所拥有的是另一个remote
表单中的remote
表单,如下所示:
<%=form_for @myobj,:as=>:myobj,:url=>{:controller=>"my_controller",:action=>"first_action"},:remote=>true do |f|%>
<%=form_for @myotherobj,:as=>:myotherobj,:url=>{:controller=>"my_controller",:action=>"second_action"},:remote=>true do |ff|%>
<%=ff.submit "second"%>
<%end%>
<%=f.submit "first"%>
<%end%>
然后我点击第二次提交,它没有进行远程调用,它进行正常调用,导致我发生错误Missing Template
因为我的操作只响应JS
(Ajax调用)
答案 0 :(得分:3)
嵌套表单无效html。
浏览器行为未定义在这种情况下该怎么做。这就像尝试在html文档中多次使用ID一样。它通常是由document.getElementById选择的最早出现的ID,在这里您发现最外层(最早)的表单是提交的表单。
如果(至少)其中一个表单是使用javascript提交的,那么最好在其他地方创建表单并复制值,或者在提交之前移动表单元素。