Rails 3 / jquery / ajax – 我可以更改此项以提交一个答案而不是整个表单吗?

我很感激帮助我在这里通过诊断过程蜿蜒前行的人们。 我重写了我希望将继续使用未来版本的jQuery的代码。

不过,我担心的是两件事:

  1. 我编写了一些其他东西会回来并咬我的尾巴吗?
  2. 相当多的客户完成了部分问题,关闭浏览器并希望他们的工作在他们回来完成时就在那里。 因此,每次单击单选按钮(100多条记录)时,都会提交整个表单。 我想知道是否有可能在这里为每个问题创建一个表单而没有收到回复。 有没有办法一次提交一个答案而不是整个表格?

视图:

 true do %>       <input "" class="submittable" name="answer[]" type="radio" value="" />      

application.js中:

 $('.submittable').live('change', function() { $(this).parents('form:first').submit(); return false; } ); 

控制器:

  def update_result params[:answer].each_pair do |key,value| @ans = Answer.find(key.to_i) @ans.update_attributes(:score => value) end end 

_index.js.erb:

 $("#answers").html(""); 

谢谢!

我会保持你的观点,并改变application.js,尽可能小的突兀:

 $('.submittable').live('change', function() { $.post( $(this).closest('form').attr('href'), $(this).serialize() ); }); 

编辑:之后我没有看到你想要回答的问题。 我不确定如何使用此解决方案避免代码重复…