rails3/jquery/ajax-我可以将其更改为提交一个答案而不是整个表单吗?

rails3/jquery/ajax-我可以将其更改为提交一个答案而不是整个表单吗?,jquery,ajax,ruby-on-rails-3,Jquery,Ajax,Ruby On Rails 3,我很感谢那些帮助我在诊断过程中艰难前行的人们。我重写了代码,希望它能在jQuery的未来版本中继续工作 不过,我担心两件事: 我有没有编过别的什么东西,会回来咬我的尾巴 相当多的客户完成了部分业务 问题,关闭浏览器,然后 希望他们的工作在 他们回来完成了。所以整个表单是 每次提交一个单选按钮 单击(100多条记录)。我想知道 关于创建一个 每个问题的表格和 没有收到任何答复。有一些吗 一次提交一个答案的方法 而不是整个表单 视图: 控制器: def update_result par

我很感谢那些帮助我在诊断过程中艰难前行的人们。我重写了代码,希望它能在jQuery的未来版本中继续工作

不过,我担心两件事:

  • 我有没有编过别的什么东西,会回来咬我的尾巴
  • 相当多的客户完成了部分业务 问题,关闭浏览器,然后 希望他们的工作在 他们回来完成了。所以整个表单是 每次提交一个单选按钮 单击(100多条记录)。我想知道 关于创建一个 每个问题的表格和 没有收到任何答复。有一些吗 一次提交一个答案的方法 而不是整个表单
  • 视图:

    控制器:

      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("<%=escape_javascript(render(@answers)) %>");
    
    $(“#答案”).html(“”);
    

    谢谢大家!

    我会保持您的观点不变,并将application.js更改为尽可能不引人注目:

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

    编辑:我没有看到您希望在事后呈现答案。我不知道如何使用此解决方案避免代码重复…

    我制作了一个gem,它可以帮助您解决第二个问题。它允许用户在返回时关闭浏览器并取回表单。链接在这里:@MrRuru,我仔细阅读了文档。如果你认为创业板已经可以生产了,我愿意使用它。谢谢。好吧,唯一能让它做好生产准备的就是一些用户退货。测试套件已经完成并正在运行,我无法手动生成任何bug。如果你愿意,我建议你测试一下,我很高兴知道它是否对你有用:)谢谢你的帮助。我在…ActionController::RoutingError(没有路由匹配项)/未定义“):收到127.0.0.1的错误:“Started POST”/undefined”:而且,答案不需要再次呈现。我不知道您从哪里得到指示。您能告诉我吗?再次感谢。
    $("#answers").html("<%=escape_javascript(render(@answers)) %>");
    
    $('.submittable').live('change', function() {
      $.post(
        $(this).closest('form').attr('href'),
        $(this).serialize()
      );
    });