Javascript Rails3IF语句与jQuery?

Javascript Rails3IF语句与jQuery?,javascript,jquery,ruby-on-rails,ruby-on-rails-3,stripe-payments,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Stripe Payments,我有一个使用railscast:设置的多步骤Rails 3表单,我使用另一个railscast为我的应用程序实现条带支付: 在我的应用程序中,如果向用户收取的金额为0,则通过jQuery隐藏付款表单 $(document).ready(function() { var xyz = $("span#total").text(); if (xyz == 0){ $("div#stripefields").hide(); }; }); 我想要做的是告诉我的Rails应用

我有一个使用railscast:设置的多步骤Rails 3表单,我使用另一个railscast为我的应用程序实现条带支付:

在我的应用程序中,如果向用户收取的金额为0,则通过jQuery隐藏付款表单

$(document).ready(function() {
  var xyz = $("span#total").text();

  if (xyz == 0){
    $("div#stripefields").hide();
  };    
});
我想要做的是告诉我的Rails应用程序,如果向用户收取的金额为0,则条带支付字段不需要成功提交表单。因此,我需要在控制器中修改此语句以反映:

elsif @video.last_step?
   @video.save if @video.all_valid? && @video.save_with_payment(@total) 

@total是向用户收取的金额,“save_with_payment”表示条带费用。这样做的最佳方式是什么?我能不能在这句话里再加一个“如果”?

编辑:对不起,我打错了一点

您需要在付款前检查收费总额是否大于0,或者如果总额为0,则允许保存视频

@video.save if @video.all_valid? && ((@total > 0 && @video.save_with_payment(@total)) || @total == 0)
此外,在jQuery代码中,您将整数与字符串进行比较。您可能希望:

$(document).ready(function() {
  var xyz = parseFloat($("span#total").text());

  if (xyz === 0.0){
    $("div#stripefields").hide();
  }
});

只是为了避免潜在的不一致。与
==
相比,将尝试强制类型,因此您可能会得到一些奇怪的结果。因此,通过使用parseFloat将总价(整数或浮点)转换为浮点值,并与浮点值(0.0)进行比较,我们可以非常清楚地得出结果。

编辑:对不起,我有点输入错误

您需要在付款前检查收费总额是否大于0,或者如果总额为0,则允许保存视频

@video.save if @video.all_valid? && ((@total > 0 && @video.save_with_payment(@total)) || @total == 0)
此外,在jQuery代码中,您将整数与字符串进行比较。您可能希望:

$(document).ready(function() {
  var xyz = parseFloat($("span#total").text());

  if (xyz === 0.0){
    $("div#stripefields").hide();
  }
});

只是为了避免潜在的不一致。与
==
相比,将尝试强制类型,因此您可能会得到一些奇怪的结果。因此,通过使用parseFloat将总价格(整数或浮点)转换为浮点值,并与浮点值(0.0)进行比较,我们可以非常清楚地得出结果。

@user1429496我有点输入错误。请再次检查它是否正确。@user1429496我有点输入错误。再次检查其状况是否正确。