使用jQuery在Rails中使用另一个控制器在页面上呈现部分表单

使用jQuery在Rails中使用另一个控制器在页面上呈现部分表单,jquery,ruby-on-rails-3,Jquery,Ruby On Rails 3,在我的主页上,我有一个正在提交给搜索控制器的搜索表单。在同一页上,我有另一个表单,用于注册提交给资源控制器的新资源。资源表单呈现为partial,partial中包含表单_for标记。如果验证成功,一切正常,但如果验证不成功,并且使用jQuery重新提交表单,则资源表单上的提交按钮不再提交给资源控制器,而是提交给搜索控制器。这是因为属性的表单_是在最初呈现页面时加载DOM时设置的吗?有没有办法让这一切顺利进行?在这种情况下是否可以使用类似.live()-函数的函数 以下是在search/inde

在我的主页上,我有一个正在提交给搜索控制器的搜索表单。在同一页上,我有另一个表单,用于注册提交给资源控制器的新资源。资源表单呈现为partial,partial中包含表单_for标记。如果验证成功,一切正常,但如果验证不成功,并且使用jQuery重新提交表单,则资源表单上的提交按钮不再提交给资源控制器,而是提交给搜索控制器。这是因为属性的表单_是在最初呈现页面时加载DOM时设置的吗?有没有办法让这一切顺利进行?在这种情况下是否可以使用类似.live()-函数的函数

以下是在search/index.html.erb文件中最初呈现局部的方式:

<div id="new_resource_form" style="display:block">
  <%= render "resources/resource_form" %>
</div>

这是部分资源的表单部分:

<%= form_for @resource, :url => {:controller => 'resources', :id => @resource.id }, :remote => true do |f| %>
{:controller=>'resources',:id=>@resource.id},:remote=>true do | f |%>
用于重新提交分部的jQuery如下所示:

$('#new_resource_form').html('<%= escape_javascript raw render 'resources/resource_form' %>')
$('new#u resource_form').html('')

当您单击“提交”按钮时,单击事件会冒泡,直到它到达周围的表单并提交表单-提交按钮实际上不会“指向”任何内容。因此,听起来好像您遇到的问题是,当表单重新呈现时,html将提交按钮放置在资源表单外部和搜索表单内部。浏览器试图修复的html模板中是否存在错误

谢谢你!我会调查的。将问题中的“点”改为“提交”。我还没有发现任何错误。我认为非常奇怪的是,当在非jQuery呈现中一切都很好时,模板中会出现错误。